何时使用django表格与手动表格?

时间:2013-06-01 01:51:03

标签: python django django-forms

我开始学习django并且刚刚遇到了django表单(我以前在django模板中总是使用手动表单)。

我是否应该总是使用django表单,无论我是否应该手动在模板中编写表单?

1 个答案:

答案 0 :(得分:3)

您可以使用自己的表单,但最好使用django表单,因为它提供了更多的自定义和灵活性。

使用django表单时,很容易更改使用非常少的代码更改呈现的“窗口小部件”的类型。

例如:

class MyForm(forms.Form):
    my_field = forms.ChoiceField(choices=CHOICES) #choices can be a tuple

将呈现为复选框字段。 如果你想渲染相同的单选按钮,你所要做的就是:

class MyForm(forms.Form):
    my_field = forms.ChoiceField(widget=forms.RadioSelect, choices=CHOICES)

如果您有自己的表单,则必须手动更改整个代码。

您还可以在一次传递中在服务器端执行一些自定义字段级别验证(例如,检查用户名是否唯一) - 您可以在自定义表单中实现相同的功能,但您必须自己处理每个方案。

此外,django有ModelForms这将是Model对象的副本 - 这极大地减少了验证和表单处理需要完成的工作量。