【发布时间】:2020-10-10 05:41:52
【问题描述】:
这是我的 forms.py 文件。我们可以通过 forms.py 中的 clean 方法验证表单数据
from django import forms
from django.core.exceptions import ValidationError
class ContactForm(forms.Form):
# Everything as before.
...
def clean_recipients(self):
data = self.cleaned_data['recipients']
if "fred@example.com" not in data:
raise ValidationError("You have forgotten about Fred!")
# Always return a value to use as the new cleaned data, even if
# this method didn't change it.
但我想验证 view.py 中的一些数据。我们可以这样做吗?在 view.py 文件中
class Test(View) :
def get(self,request):
#Get logic
def post(self,request):
form = ContactForm(request.POST or None)
if form.is_valid():
num = form.cleaned_data['num']
if '123' in num:
form.add_error('num','Not valid')
else:
form.save()
return render(request,self.template_name,{'form':form})
在 view.py 而不是 forms.py 中处理表单错误的方法是什么
【问题讨论】:
-
您可以使用消息,或将表单错误作为上下文传递给您的模板。
标签: python django-forms django-views django-templates