Django 表单 - 如何不进行验证?
假设我有一个简单的表单:
class ContactForm(forms.Form):
first_name = forms.CharField(required=True)
last_name = forms.CharField(required=True)
我为其中一个字段设置了默认值,但另一个字段没有。所以我这样设置:
default_data = {'first_name','greg'}
form1=ContactForm(default_data)
但是现在,当我去显示这个表单时,Django 提示我有一个验证错误,说 last_name 是必填的:
print form1.as_table()
那么,正确的做法是什么呢?因为这不是用户提交的数据,而是我想要预先填写的数据。
注意:将 required=False 设置为不需要是行不通的,因为我确实希望用户提交数据时这个字段是必填的。只是当我第一次在页面上显示表单时,我没有默认值。
3 个回答
1
你也可以手动检查和清除错误,方法是使用这个代码:form.errors.clear()
1
这是来自Django文档的内容:
from django import forms
class ContactForm(forms.Form):
subject = forms.CharField(max_length=100)
message = forms.CharField()
sender = forms.EmailField()
cc_myself = forms.BooleanField(required=False)
把“required=False”加上应该能达到你想要的效果。
11
表单构造函数有一个叫做 initial
的参数,可以用来给表单字段设置默认值。