我开始学习django并且刚刚遇到了django表单(我以前在django模板中总是使用手动表单)。
我是否应该总是使用django表单,无论我是否应该手动在模板中编写表单?
答案 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对象的副本 - 这极大地减少了验证和表单处理需要完成的工作量。