Локальная переменная 'params' ссылается перед присвоением в django
Вот мое мнение
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
здесь конкретно выражение 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
после этого не используется (если только вставленный код не является полной версией).