У меня есть приложение, которое показывает некоторые вопросы пользователю. Он должен отвечать во входных текстовых полях, а затем есть представление, которое проверяет все эти результаты (ниже).Как я могу упростить это представление Django?
Этот вид отлично работает, но я знаю, что я сделал беспорядок со словарями и списками. Я думал создать их только для того, чтобы подготовить переменную результатов, которую я буду печатать на HTML-странице. Как я могу это упростить?
def check(request):
# Initialize results
results = []
i = 0
for input_name, input_value in request.POST.items():
# Remove cfsr from inputs
if input_name.isdigit():
# Get the question from the input name
question = Question.objects.get(pk=input_name)
# Get the related correct answer to that question
answer = question.answer
# Create results
results.append({'question_text': question.text, 'user_answer': input_value,
'correct_answer': answer.text})
# Check if user answer is correct
if input_value == answer.text:
results[i]['is_correct'] = True
else:
results[i]['is_correct'] = False
i += 1
context = {'results': results}
return render(request, 'quiz/results.html', context)
Вы должны попытаться использовать формы для создания викторины и проверить ответы. – hop