Python 域限制不起任何作用
你好,我有一个简单的表单,我想保存信息。我在表单中添加了域名限制,但它仍然可以保存其他电子邮件域名的电子邮件。我是django的新手,所以也许这是一项简单的任务,谢谢Python 域限制不起任何作用,python,django,Python,Django,你好,我有一个简单的表单,我想保存信息。我在表单中添加了域名限制,但它仍然可以保存其他电子邮件域名的电子邮件。我是django的新手,所以也许这是一项简单的任务,谢谢 models.py from django.db import models class WPGroup(models.Model): name=models.CharField(max_length=128,blank=False) number=models.PositiveInte
models.py
from 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.name
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 email
class WPGroupView(generic.CreateView):
template_name='wp.html'
form=WPGroupForm
model=WPGroup
fields=['name','mail','bolum','number']
success_url='success/'
forms.py
from 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.name
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 email
class WPGroupView(generic.CreateView):
template_name='wp.html'
form=WPGroupForm
model=WPGroup
fields=['name','mail','bolum','number']
success_url='success/'
views.py
from 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.name
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 email
class WPGroupView(generic.CreateView):
template_name='wp.html'
form=WPGroupForm
model=WPGroup
fields=['name','mail','bolum','number']
success_url='success/'
您应该使用
form\u class
attribute而不是form
:
类WPGroupView(generic.CreateView):
模板_name='wp.html'
form_class=WPGroupForm
模型=WPGroup
success\u url='success/'
此外,您的验证方法必须是name
clean\u**fieldname**
,因此它应该是clean\u mail
,而不是clean\u email
,您的字段似乎被称为“mail”,因此该方法应该是clean\u mail
,不clean_email
。我更改了它,但它仍然是您所使用的,但表单类和字段不允许一起使用,我更改了它,也许您也可以在回答中删除它。