【发布时间】:2021-05-10 10:59:51
【问题描述】:
传递 id 时发生严重匹配错误。但手动添加时工作正常。它显示 NoReverseMatch 错误。我无法弄清楚这是从哪里来的。我也应该添加回溯吗?
模板
<div style="padding: 100px 270px;">
{% for a in applied%}
{{a.job.quiz.id}}
<a href="{% url 'single_quiz' a.job.quiz.id %}">{{a.job.quiz}}</a>
{%endfor%}
</div>
views.py
def single_quiz(request, quiz_id):
print(quiz_id)
quiz = get_object_or_404(Quiz, pk=quiz_id)
print(quiz)
num_questions = len(quiz.question_set.all())
try:
unique = Result.objects.get(user=request.user,quiz=quiz)
except Result.DoesNotExist:
unique = False
# deletes quiz and returns to home if no questions created
if num_questions == 0:
quiz.delete()
all_quiz_list = Quiz.objects.all()
context = {
'all_quiz_list': all_quiz_list,
}
return render(request, 'quiz/index.html', context)
quiz.num_questions = num_questions
quiz.save()
# resets accuracy info to 0
request.session["num_correct"] = 0
request.session["num_wrong"] = 0
context = {
'quiz': quiz,
'num_questions': num_questions,
'unique': unique,
}
return render(request, 'quiz/single_quiz.html', context)
def TestStudents(request):
applied=Applicants.objects.filter(applicant=request.user)
context={
'applied':applied
}
return render(request,'student/test_list.html',context)
urls.py
path('<int:quiz_id>/', views.single_quiz, name='single_quiz'),
【问题讨论】:
-
尝试发送命名参数。
<a href="{% url 'single_quiz' quiz_id=a.job.quiz.id %}">{{a.job.quiz}}</a>正如 TEST 所述,确保您将正确的上下文从视图传递给模板。 -
更改和上下文正确后仍然无法正常工作
-
每个
a都有job吗?每个job都有quiz吗?如果没有,则在 url 生成周围添加if ... else。 -
不明白
if num_questions == 0:下是否是everithing
标签: django django-models django-views django-templates