3

我开始学习 django 并且刚刚遇到 django 表单(我过去一直在 django 模板中使用手动表单)。

无论如何,我是否应该始终使用 django 表单,或者在某些情况下我应该手动在模板中编写表单?

4

1 回答 1

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 拥有ModelFormsModel 对象的副本——这极大地减少了验证和表单处理所需的工作量。

于 2013-06-01T02:01:41.853 回答