我正在尝试在Django中设计一个简单的MCQ工具。 我的目标是得到类似的东西:
https://www.w3schools.com/quiztest/quiztest.asp?qtest=CSS
在设计和行为方面(例如,带有多个复选框的问题和一个将我定向到下一个问题的提交按钮,直到显示答案和得分的末尾),以便我可以建立自己的MCQ进行修改课程。
到目前为止,我设法将数据(即问题,答案等)存储在数据库中。我正在考虑使用以下表格:
[forms.py]
from django import forms
from .models import Proposition, Question
class ReadOnlyText(forms.TextInput):
input_type = 'text'
def render(self, name, value, attrs=None):
if value is None:
value = ''
return value
class QuestionForm(forms.Form):
q1 = Question.objects.filter.all()[0]
propositions = Proposition.objects.filter(question=q1)
choices = ((p.index, p.proposition) for p in propositions)
question = forms.CharField(widget=ReadOnlyText, label=q1.question)
propositions = forms.MultipleChoiceField(
required=True,
widget=forms.CheckboxSelectMultiple,
choices=choices,
)
因此在此代码中,问题是我只查看数据库中的第一个问题(q1)。而且我不太确定如何传递下一个问题的数量,以了解用户何时单击提交按钮。
但是也许我在这里很难过,因为表单不适合该目的。
如果有人对以上内容有设计思路和解决方案,那么我将非常有兴趣阅读它们。