我正在尝试制作测验应用程序,我想让用户选择主题,主题和问题数量(生成测验)。输入下一个视图后应该是测试/测验。我无法将多个参数/值传递给Django URL。 (例如subject / topic / no_of_question)
def generate_quiz(request):
if request.method == 'GET':
subjects = Subject.objects.all()
topics = Topic.objects.all()
return render(request,'mcq/quizetting.html',{'subjects':subjects,'topics':topics})
if request.method == 'POST':
subject_id = request.POST.get("subject","")
topic_id = request.POST.get("topic","")
mcq_no = request.POST.get("mcq_no","")
subjects = Subject.objects.all
if subject_id != '':
if topic_id != '':
if mcq_no >= 10 and mcq_no <150:
return HttpResponseRedirect(reverse('test',kwargs=['subject':subject_id,]))
else:
return render(request,'topics':topics})
else :
topics = Subject.objects.get(id=subject_id).topic_set.all()
else:
topics = Topic.objects.all()
subject_id = str(subject_id)
return render(request,'topics':topics,'current_subject_id':subject_id})
def test(request,subject,topic,mcq_no):
s = Subject.objects.get(id=subject)
t = Topic.objects.get(id=topic)
selected_questions = Question.objects.filter(subject=s,topic=t)[:mcq_no]
return render(request,'mcq/test.html',{'questions':selected_questions})
我的观点正在努力进行主题选择,主题过滤和问题过滤。当我提交表单时,下一个网址不起作用。我已经厌倦了{srt和int)变量来传递url
path('generate_quiz',views.generate_quiz,name='generate_quiz'),path('test/<subjects_id>/<topics_id>/<int:mcq_no>',views.test,name='test'),