django - 在 django 中赋值之前引用的局部变量“params”
问题描述
这是我的看法
def ATFinfo(Request):
# inputdata = Request.GET.get('inputdata')
url = 'www.google.com'
req = Request.GET
print("hi",req)
req_list = list(dict(req).values())
print("list",req_list)
params_count = len(req_list)
print('params_count', params_count)
if params_count > 0:
for i in range(params_count):
params = params + req_list[i+1][0] + '=' + req_list[i+1][1] + '&'
url = url + params
print('paramfinal',params)
return render(Request, 'hello/ATF_Dashboard.html')
在这个视图中,我在行赋值之前收到错误局部变量“params”引用params = params + req_list[i+1][0] + '=' + req_list[i+1][1] + '&'
如何解决这个问题?我也无法理解这里有什么问题
解决方案
当您尝试在params
此处专门使用 expression时,尚未定义params + req_list...
该变量。params
for i in range(params_count):
params = params + req_list[i+1][0] + '=' + req_list[i+1][1] + '&'
你必须先定义它:
params = ""
for i in range(params_count):
params = params + req_list[i+1][0] + '=' + req_list[i+1][1] + '&'
您还可以使用+=
运算符:
params += req_list[i+1][0] + '=' + req_list[i+1][1] + '&'
同样基于粘贴的代码,请注意这一行:
url = url + params
不会在逻辑中添加任何url
此后未使用的内容(除非粘贴的代码不是完整版本)。
推荐阅读
- indexing - 一个字段没有在 solr 中被索引
- javascript - 将纯文本数据转换为基于格式的数组对象
- c# - 尝试比较标签时如何修复“对象引用未设置为对象的实例”Unity.RaycastHit2D?
- javascript - 客户端nodejs readline不会触发“关闭”事件,除了来自服务器的CTRL-C
- css - 是否可以在 scss 文件中 @import 引导图标并通过 @extend 在其他 scss 类中使用它?
- qt - QML:当 anchors.margin 和侧边距(如 anchors.leftMargin)都设置时会发生什么?
- snowflake-sql - 我可以在 CASE WHEN THEN 子句下使用 'OR' 语句吗?
- haskell - 使用 ghcup 安装 GHC 时如何解决此错误?
- react-native - 无法导入反应原生的 SafeAreaProvider
- amazon-web-services - PowerBI Athena Beta 连接器详细信息:“我们无法将值 null 转换为记录类型。”