Как добавить функцию для подсчета правильных ответов в django api?
Я создаю приложение викторины на django. Я создал страницу результатов, но на странице результатов каждый раз показывает правильный ответ = 0... подскажите, как я могу изменить логику этого... подскажите... подскажите... подскажите
**Код для view.py **
from django.shortcuts import render,redirect
from django.contrib.auth import login,logout,authenticate
from .forms import *
from .models import *
from django.http import HttpResponse
# Create your views here.
def home(request):
if request.method == 'POST':
print(request.POST)
questions=QuesModel.objects.all()
score=0
wrong=0
correct=0
total=0
for q in questions:
total+=1
print(request.POST.get(q.question))
print(q.ans)
print()
if q.ans == request.POST.get(q.question):
score+=10
correct+=1
else:
wrong+=1
percent = score/(total*10) *100
context = {
'score':score,
'time': request.POST.get('timer'),
'correct':correct,
'wrong':wrong,
'percent':percent,
'total':total
}
return render(request,'result.html',context)
else:
questions=QuesModel.objects.all()
context = {
'questions':questions
}
return render(request,'home.html',context)
Код для Model.py
from django.db import models
# Create your models here.
class QuesModel(models.Model):
question = models.CharField(max_length=200,null=True)
op1 = models.CharField(max_length=200,null=True)
op2 = models.CharField(max_length=200,null=True)
op3 = models.CharField(max_length=200,null=True)
op4 = models.CharField(max_length=200,null=True)
ans = models.CharField(max_length=200,null=True)
def __str__(self):
return self.question
if q.ans == request.POST.get(q.question):
Ответ следует сравнивать с вариантами. Вы сравниваете ответ с самим вопросом.