Я пытаюсь создать обучающее приложение для себя, и частью моего плана является создание модуля для викторин.
Моя проблема в том, что я не знаю, как сравнить ответ пользователя с правильным ответом. это хранится в модели.
Теперь, единственное, что я пытался (кроме чтения документов и переполнения стека), это вставить вопрос о модели в мой HTML, чтобы позже использовать его в views.py, но с самого начала я чувствовал, что это не так, как должно работать, поэтому я предполагаю, что мне нужно реорганизовать свои модели / формы или внутри views.py, есть какой-то способ запросить базу данных для этого конкретного c экземпляра модели, который я надену Не знаю.
Вот мой код
Модели:
class Question(models.Model):
question = models.CharField(max_length=100, unique=True)
answer = models.CharField(max_length=100, unique=False)
def __str__(self):
return self.question
Формы:
class Answer(forms.Form):
answer = forms.CharField()
Просмотров:
def quiz(request):
questions = Question.objects.order_by('question')
form = Answer()
context_dict = {'form':form,'questions':questions}
if request.method == 'POST':
form = Answer(request.POST)
if form.is_valid():
#Here I want to make the comparison
pass
return render(request,"quiz_app/quiz.html",context_dict)
HTML:
<table>
{% for q in questions %}
<tr>
<td>{{ q.question }}</td>
<form method="POST">
<td>{{ form.answer }}</td>
{% csrf_token %}
<td>
<input type="submit" value="submit">
</td>
</form>
</tr>
{% endfor %}
</table>