Создание MCQ в Django с использованием парадигмы Forms? - PullRequest
0 голосов
/ 30 сентября 2018

Я пытаюсь создать простой инструмент MCQ в Django.Моя цель - получить что-то похожее на:

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) в моей базе данных.И я не слишком уверен, как передать номер следующего вопроса, когда пользователь нажмет кнопку отправки.

Но, возможно, мне здесь трудно, потому что форма не подходит для этогоЦель.

Если у кого-то есть идеи дизайна, решения для вышеперечисленного, мне будет более чем интересно их прочитать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...