首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >表单验证不起作用Django和打印只在消息上

表单验证不起作用Django和打印只在消息上
EN

Stack Overflow用户
提问于 2018-09-12 05:00:19
回答 1查看 38关注 0票数 -3

Django表单验证不起作用。它只输出以下消息:表单无效!

我是Django的初学者,我很难弄清楚为什么会发生这种情况。

Form.py中的mycode:

代码语言:javascript
复制
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

和我在视图中的代码:

代码语言:javascript
复制
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!')
EN

回答 1

Stack Overflow用户

发布于 2018-09-12 07:20:59

你看到的只是“表单无效!”因为这是您的视图在HttpResponse中返回的全部内容。

将最后一行更改为:

代码语言:javascript
复制
return HttpResponse('form is not valid!')

至:

代码语言:javascript
复制
return HttpResponse(form.errors)

这应该会告诉你你的错误是什么。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52284143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档