如何更改表单输入类型

时间:2010-06-27 16:46:24

标签: django

我正在尝试编写一个测验应用程序。我有以下模型。

class Question(db.Model):
    question=db.StringProperty(required=True)
    answer_1=db.StringProperty(required=True)
    answer_2=db.StringProperty(required=True)
    answer_3=db.StringProperty(required=True)
    answer_4=db.StringProperty(required=True)
    correct_answer=db.StringProperty(choices=['1','2','3','4'])

以及以下表格

class QuestionForm(ModelForm):
    class Meta:
        model=Question

这对于创建提交新问题的表单非常有帮助。 现在我希望数据库中存储的问题以表格的形式呈现给用户。上面的表格将生成表格

<input type="text">

虽然我希望他们有收音机盒我怎么做同样的?我需要一个单独的表格类吗?

2 个答案:

答案 0 :(得分:1)

您还可以将可能性答案存储在另一个模型中,通过内联管理员管理它们(这会给您更多的灵活性,因为答案的数量并不总是必须相同),并且使用外键字段正确的答案(如果你愿意,它将呈现为下拉或收音机盒)!

答案 1 :(得分:0)

您可以指定小部件来将测验表单绘制为单选框 - 您可以在http://docs.djangoproject.com/en/dev/topics/forms/modelforms/#overriding-the-default-field-types-or-widgets查看有关小部件的更多信息

至于你关于单独表单类的问题,这取决于你 - 你想要有两种不同的方式向用户显示表单(使用单选按钮和文本字段),或者你只想要单选按钮 - 无论哪种方式,由你决定。