Джанго при возврате значений показывает список из индекса - PullRequest
0 голосов
/ 08 мая 2019

Я пытаюсь вернуть значения в шаблон, используя метод запроса в представлении.Значения в списке.Когда я пытаюсь получить доступ к этим значениям в ответ, я получаю список ошибок индекса.Но значения правильные, когда я печатаю эти значения в cmd.

Ошибка

IndexError at /
list index out of range
Request Method: GET
Request URL:    http://localhost:8000/
Django Version: 1.11.20
Exception Type: IndexError
Exception Value: list index out of range
Python Version: 2.7.15 

views.py file

def index(request):
    req_val = [None]
    demo_text =[]
    if request.method == 'POST':  
        req_val.append(request.POST.get('val1'))
        req_val.append(request.POST.get('val2'))
        req_val.append(request.POST.get('val3'))
        demo_text = package_name.classobj(req_val[0],req_val[1],req_val[2]).methodprintval() 
        print demo_text  #sample output: [1,2,3]
    return render(request, 'index.html',{'sampleval1':demo_text[0],'sampleval2':demo_text[1],'sampleval3':demo_text[2]}) #error list index out of range

Я пытался найти решение, но не смог.Как я могу решить это?

Спасибо

Ответы [ 2 ]

0 голосов
/ 08 мая 2019

Request Method: GET

if request.method == 'POST':

когда метод GET, ваш список пуст.

0 голосов
/ 08 мая 2019

Почему вы берете на себя дополнительные издержки, когда можете напрямую передать значение в контексте. Я не уверен, что вы methodprintval делаете.

dict(zip([f'sampleval{i}' for i in range(1,4)],req_val))

это создаст ваш контекст var сам по себе

{'sampleval1': 1, 'sampleval2': 2, 'sampleval3': 3}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...