Skip to main content
 首页 » 编程设计

Python Django 在函数参数中相等。动态设置变量

2024年10月01日32Free-Thinker

我认为这称为“位置参数”或相反或关键字参数。我已经用 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)