在 forms.py 中使用 ModelForm 会节省很多时间,因为不需要在表单中再次重写整个字段。
class ContactsForm(ModelForm):
class Meta:
model = Contact
取而代之的是 forms.Form 需要手动再次定义所有字段。由于更多的控制,有些人更喜欢这种方法。
虽然很多都是直截了当的:
models.CharField("First Name",max_length=30, blank=True)
变成
forms.CharField(label = _(u'First Name'), max_length=30, blank=True)
并models.TextField(blank=True)
成为forms.TextArea(blank=True)
等...
一个字段对我来说有点神秘,它是如何翻译成表格的,例如:
models.ForeignKey(ContactType)
如何在表单中定义下拉菜单?