Пишется небольшой сервис для тасков.
На странице выводятся все таски под которыми формы для ввода правильного ответа (flag). Подскажите, как сделать проверку введенных данных в форму с нужным ответом в БД?
views.py
def tasks(request):
task = Task.objects.all()
context = {
'tasks': task,
}
if request.method == 'POST':
form = AnswerForm(request.POST)
if form.is_valid():
return HttpResponseRedirect('/result/')
else:
form = AnswerForm()
context = {
'tasks': task,
'form': form
}
return render(request, 'Socket/task.html', context)
models.py
class Task(models.Model):
name = models.TextField()
category = models.TextField()
right_answer = models.TextField()
description = models.TextField(blank=True)
points = models.IntegerField()
date = models.DateField()
file = models.FileField(upload_to='/Files/', verbose_name='Файл', blank=True)
template
{% block content %}
{% for task in tasks %}
<h3>{{ task.name }} - {{ task.points }} очков</h3>
<h4>Категория - {{ task.category }}</h4>
<pre>{{ task.description }}</pre>
<form action="" method="post">
{% csrf_token %}
{% bootstrap_form form %}
{% buttons %}
<button type="submit" class="btn btn-primary">
{% bootstrap_icon "ok" %} Ответить
</button>
{% endbuttons %}
</form>
{% endfor %}
{% endblock %}
Форма
class AnswerForm(forms.Form):
answer = forms.CharField(widget=forms.TextInput, label='Флаг')