我开始学习 django 并且刚刚遇到 django 表单(我过去一直在 django 模板中使用手动表单)。
无论如何,我是否应该始终使用 django 表单,或者在某些情况下我应该手动在模板中编写表单?
我开始学习 django 并且刚刚遇到 django 表单(我过去一直在 django 模板中使用手动表单)。
无论如何,我是否应该始终使用 django 表单,或者在某些情况下我应该手动在模板中编写表单?
您可以使用自己的表单,但最好使用 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 对象的副本——这极大地减少了验证和表单处理所需的工作量。