您好,我有一个简单的表格,我想在其中保存信息。我在我的表单中添加了域限制,但它仍然保存具有其他电子邮件域的电子邮件。我是 django 的新手,所以也许这是一件容易的事,谢谢。models.pyfrom django.db import models class WPGroup(models.Model): name=models.CharField(max_length=128,blank=False) number=models.PositiveIntegerField(blank=False) bolum=models.CharField(max_length=128,blank=False) mail=models.EmailField(max_length=128,blank=False) def __str__(self): return self.nameforms.py from django import forms from .models import WPGroup class WPGroupForm(forms.ModelForm): class Meta: model=WPGroup fields=['name','number','bolum','mail'] def clean_email(self): email = self.cleaned_data['mail'] if "@itu.edu.tr" not in email: raise forms.ValidationError("You must include @itu.edu.tr") return emailviews.py class WPGroupView(generic.CreateView): template_name='wp.html' form=WPGroupForm model=WPGroup fields=['name','mail','bolum','number'] success_url='success/'
1 回答
翻翻过去那场雪
TA贡献2065条经验 获得超14个赞
您应该使用form_class属性而不是form:
class WPGroupView(generic.CreateView): template_name='wp.html' form_class=WPGroupForm model=WPGroup success_url='success/'
此外,您的验证方法必须是名称,clean_**fieldname**所以它应该是clean_mail而不是clean_email.
添加回答
举报
0/150
提交
取消
