Django表单验证不起作用。它只输出以下消息:表单无效!
我是Django的初学者,我很难弄清楚为什么会发生这种情况。
Form.py中的mycode:
efrom django import forms
from django.contrib.auth.models import User
from django.core.exceptions import ValidationError
from django.forms.widgets import CheckboxSelectMultiple
from blog.models import Category
from wsgiref.validate import validator
class PostForm(forms.Form):
title = forms.CharField(max_length = 100, min_length= 1,)
slug = forms.SlugField(allow_unicode=True)
message = forms.CharField(widget = forms.Textarea)
banner = forms.ImageField()
category = forms.ModelChoiceField(queryset=Category.objects)
authors = forms.ModelChoiceField(queryset=User.objects,
widget=CheckboxSelectMultiple)
def clean(self):
cleaned_data = super(PostForm, self).clean()
slug = cleaned_data['slug']
if not "sepehr" in slug:
raise forms.ValidationError("here we have some errors !")
return cleaned_data
和我在视图中的代码:
class HoemView(generic.TemplateView):
template_name = 'blog2/create.html'
def get(self, request):
form = PostForm()
context = {
'form':form
}
return render(request, self.template_name, context)
def post(self, request):
form = PostForm(request.POST, request.FILES)
if form.is_valid():
return HttpResponse('form is valid!')
return HttpResponse('form is not valid!')
发布于 2018-09-12 07:20:59
你看到的只是“表单无效!”因为这是您的视图在HttpResponse中返回的全部内容。
将最后一行更改为:
return HttpResponse('form is not valid!')
至:
return HttpResponse(form.errors)
这应该会告诉你你的错误是什么。
https://stackoverflow.com/questions/52284143
复制相似问题