Удаление элементов из списка в request.session не работает я не понимаю почему
Я пытаюсь создать базовую игру Q&A. В request.session['questions'] я сохраняю вопросы, которые хочу отобразить .
Поток должен быть :
Вопрос 1 загружается сразу после загрузки формы --> как только пользователь нажимает следующий вопрос, должен быть отображен вопрос 2 и так далее, пока request.session['questions'] не станет пустым.
wit следующий код я только мог показать 2 первых варианта и я не знаю, почему это не работает, как ожидалось.
def game(request):
if request.method == 'GET':
request.session['questions'] = ['question1','question2','question3','question4']
print(request.session['questions'])
q = request.session['questions'].pop(0)
form = QForm({'question':q})
print(request.session['questions'])
return render(request, 'game.html', {'form':form})
else:
if request.method == 'POST' and len(request.session['questions']) >0:
q= request.session['questions'].pop(0)
print(name)
form = QForm({'question':q})
return render(request, 'game.html', {'form':form})
else:
return redirect('home')
views.py
def game(request):
questions = ['question1','question2','question3','question4']
if request.method == 'POST':
answer = request.POST['answer']
questions = request.POST['questions']
q_list = questions[1:-1].replace('\'', '').split(',')
q_list.pop(0)
if q_list:
questions = q_list
else:
questions = None
context = { 'questions': questions }
return render(request, 'game.html', context)
шаблон game.html:
{% if questions %}
<form action="{% url 'your:url' %}" method="post">
{% csrf_token %}
<label for="question">{{questions.0}}</label>
<input
id="answer"
type="text"
name="answer"
placeholder="Enter your answer..."
>
<input type="hidden" name="questions" value="{{questions}}">
<input type="submit" value="OK">
</form>
{% else %}
Game Over
{% endif %}