我正在学习使用Django,希望验证表单提交中的电子邮件地址
这是我现在的表单代码:
from django.forms import ModelForm
from django.core import validators
from first_app.models import FormSubmission
from django import forms
class SignupForm(ModelForm):
class Meta:
model = FormSubmission
fields ='__all__'
def clean(self):
all_clean_data = super().clean()
email = all_clean_data['email']
vmail = all_clean_data['verify_email']
和我的模型代码
class FormSubmission(models.Model):
first_name = models.CharField(max_length = 30)
last_name = models.CharField(max_length = 30)
email = models.EmailField(unique= False)
verify_email = models.EmailField(unique = False)
text = models.CharField(max_length=250)
#botcatcher = models.CharField(required=False,
#widget = forms.HiddenInput,
#validators=[validators.MaxLengthValidator(0)])
def __str__(self):
return "%s %s"% (self.first_name, self.last_name)
验证器应该放在模型还是表单文件中
谢谢
ModelForm本身将验证数据。 您可以这样离开表单:
要这样验证:
调用is_valid()时隐式触发模型表单验证
如果需要一些自定义验证,可以定义方法,例如:
更多信息请参见:https://docs.djangoproject.com/en/3.0/topics/forms/modelforms/
相关问题 更多 >
编程相关推荐