Python Django在函数参数中等于。动态设置变量
我认为这就是所谓的“位置参数”或相反或关键字参数。我已经用Python Django和rest框架编写了一个脚本,它必须从用户那里获取参数并将其提供给Amazon API。这是代码Python Django在函数参数中等于。动态设置变量,python,django,python-3.x,django-rest-framework,Python,Django,Python 3.x,Django Rest Framework,我认为这就是所谓的“位置参数”或相反或关键字参数。我已经用Python Django和rest框架编写了一个脚本,它必须从用户那里获取参数并将其提供给Amazon API。这是代码 page = request.query_params.get('page'); search = request.query_params.get('search'); search_field = request.query_params.get('search_field'); search_index = r
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。我不知道如何使关键字部分动态,以便它更改用户的输入,例如Actor、Title、,或者Publisher我认为您应该建立一个kwargs字典,然后使用**
语法为函数调用扩展它。我将给出一个假设search_字段
query参数更改搜索的示例:
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)
我用字典代替了。我就是这样做的
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');
dict = {'SearchIndex':search_index, 'ResponseGroup': 'ItemAttributes,Offers,Images,EditorialReview,Reviews'}
dict[search_field] = search;
response = amazon.ItemSearch(**dict)
我刚刚传递了一本字典,里面有我的动态变量作为键。谢谢。在回答了我自己的问题后,我看到了这一点。没关系,很高兴你找到了一个解决方案:)在这些情况下,**
扩展技巧非常有用。