我认为这称为“位置参数”或相反或关键字参数。我已经用 Python Django 和 rest 框架编写了一个脚本,它必须从用户那里获取参数并将其提供给亚马逊 API。这是代码;
page = request.query_params.get('page');
search = request.query_params.get('search');
search_field = request.query_params.get('search_field');
search_index = request.query_params.get('search_index');
response = amazon.ItemSearch(Keywords=search, SearchIndex=search_index, ResponseGroup="ItemAttributes,Offers,Images,EditorialReview,Reviews")
在此代码中,文本 Keywords=search 有所不同。那是。它可能像这样 Actor=search、Title=search 或 Publisher=search 我不确定如何使 Keywords 部分动态化,以便它更改为用户的输入,例如 Actor、Title 或发布者
请您参考如下方法:
我认为你应该为你的 kwargs 建立一个字典,然后使用 ** 语法来扩展它以供函数调用。我将举一个例子,假设 search_field 查询参数改变了搜索:
search = request.query_params.get('search');
search_field = request.query_params.get('search_field');
search_index = request.query_params.get('search_index');
kwargs = {
'SearchIndex': search_index,
'ResponseGroup': 'ItemAttributes,Offers,Images,EditorialReview,Reviews'
}
# Presuming search_field is the key, i.e. "Keywords", or "Actor"
kwargs[search_field] = search
### kwargs['Keywords'] = search
response = amazon.ItemSearch(**kwargs)
