python - 何时使用 Django 表单与手动表单?

标签 python django django-forms

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

无论什么情况我都应该始终使用 Django 表单吗?在某些情况下我应该在模板中手动编写表单吗?

最佳答案

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

当您使用 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 对象的副本 - 这极大地减少了验证和表单处理所需完成的工作量。

关于python - 何时使用 Django 表单与手动表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16868300/

相关文章:

python - Viewset 'create' 在 Django Rest Framework 中自定义赋值

django - 从 View 调用表单时排除表单字段

Python,行迭代器

django - MultiValueDictKeyError django 表单集

python - 如何合并两个Word2Vec文件

Django 如何部分渲染

python - 如何在 django 模型表单中添加自定义字段?

django - 如何在 Django 管理表单验证器中检测更新

Python 3.6 字典。立即从输入中获取值

javascript - gcp上的html中的js(本地测试)不起作用