Django项目架构指导

时间:2017-12-21 01:50:00

标签: django django-models django-forms django-views

我正在开展一个项目,我不确定我的下一步是什么,或者如何最好地实现我想要的结果。

我想做什么

创建一个类似测验的应用,我可以在其中添加问题和答案,让用户通过多项选择或文字输入选择正确的选项,并根据正确的问题验证答案

我目前拥有什么

我有以下

的Django设置
from django.db import models

class Exam(models.Model):
    name = models.CharField(max_length=64)

    def __str__(self):
        return self.name

class Question(models.Model):
    question_text = models.CharField(max_length=256)
    exam = models.ForeignKey(Exam)


class Answer(models.Model):
    text = models.CharField(max_length=128)
    question = models.ForeignKey(Question)

    def __str__(self):
        return self.text

这是我目前可以做的事情

  • 我可以使用管理面板添加新的问题,答案和考试
  • 我可以传递新数据在模板上呈现它们,因此也就是网站,所以如果我添加一个新问题,我可以将它显示在网站上
  • 我也知道如何创建一个将数据传递到服务器并将新数据添加到数据库而无需使用管理面板的表单
  • 我知道如何将数据传输到数据库中的模板

我不知道该怎么做

  • 我不知道如何以允许用户与他们互动的方式显示答案。例如,我是否使用HTML5表单,是否使用JavaScript,是否使用Django表单,是否使用Django multipleChoice类?

对于初学者来说,如果我能够在一个多选择的字段中输出问题的答案,这将是一个很好的开始,服务器将返回"正确"或根据问题是否不正确而不正确。

我认为可能与我需要知道的内容有关

  • 我是否必须使用Django REST框架?

Django版本:1.11

1 个答案:

答案 0 :(得分:0)

如果您只是将问题和答案显示为列表,用户将回答它(不存储答案和结果)〜>只显示列表,当用户点击提交〜>使用 Ajax 将数据(您保存的数据为param或json)发送到服务器并检查 views.py 中的答案,然后将结果内容响应给用户

如果你想做更多的事情: 多选答案,将答案保存为模板,将答案保存在数据库中,保存结果,重复使用答案(1个答案属于多个问题)...您需要了解更多想法:

Manytomany字段,数据流,...... Django tutoria l

中的所有基本内容