【发布时间】:2010-10-11 21:22:05
【问题描述】:
好吧,我对 Django 表单一无所知,因为文档似乎并没有完全涵盖我正在寻找的内容。至少,一旦你通过了最基本的形式,它似乎会戛然而止。作为答案,我非常愿意获取 good 文档的链接,或涵盖该主题的好书的链接。基本上,这就是它的分解方式,我有 3 个模型(测验、问题、答案)。每个测验我有 20 个问题,有 4 个可能的答案(多选)。数字可能会有所不同,但你明白了。
我需要为这些项目创建一个表单,就像您在多项选择测验中所期望的那样。但是,当我在模板中手动创建表单时,而不是使用 django.forms,我得到以下信息:
以 10 为底的 int() 的无效文字:'test'
所以我试图弄乱 django.forms,但我想我只是没有掌握如何用这些构建一个合适的表单的想法。任何帮助将不胜感激,谢谢。
这里值得一看的是模型:
class Quiz(models.Model):
label = models.CharField(blank=True, max_length=400)
slug = models.SlugField()
def __unicode__(self):
return self.label
class Question(models.Model):
label = models.CharField(blank=True, max_length=400)
quiz = models.ForeignKey(Quiz)
def __unicode__(self):
return self.label
class Answer(models.Model):
label = models.CharField(blank=True, max_length=400)
question = models.ForeignKey(Question)
correct = models.BooleanField()
def __unicode__(self):
return self.label
【问题讨论】:
-
抨击现有文档(与开源文档一样好),而不是澄清你读过哪些文档(即你读过 ModelForms 吗?formsets?),确实降低了回答你的问题。
-
另外,以实际描述问题内容的方式命名您的问题会很有帮助。
-
Carl,我阅读了表格上的所有文档,是的,所有文档。如果您正在做非常基本的事情,它们会很棒。 非常很好地涵盖了其他主题,只是没有形式。抨击不是故意的。另外,想不出这个问题的好名字。很抱歉冒犯了你。
-
感谢下面所有回答的人。以下所有答案最终促成了我的解决方案,并教会了我很多。感谢所有帮助窥视!