【问题标题】:Django modelform validationDjango 模型表单验证
【发布时间】:2013-09-17 07:28:41
【问题描述】:

我正在使用 django 模型和表单集。但我面临的问题是,当表单未经过验证时,它不会在 html 页面上显示错误,而是在视图中显示错误。

查看`

def create(request):         
    if request.method=="POST":                                                          
        foo= fooform(request.POST,prefix="fooform") 
        if foo.valid():
           #do stuff             
    else:
        foo= fooform(prefix="fooform")          
    return render(request,'property/create.html',{'foo':foo})

`

问题:

当表单未验证时,视图中出现明显错误,无法找到 fooform。我希望 html 页面显示错误字段。我做错了什么?

编辑:

我想我找到了主要问题。问题是 modelform 没有在浏览器级别应用其表单验证。因此,即使表单无效,表单也会被提交。结果,它没有通过验证并且没有找到其他部分。

【问题讨论】:

    标签: django django-forms


    【解决方案1】:

    改用这个模式怎么样:

    def create(request):         
        foo = fooform(request.POST or None, prefix='fooform')
        if foo.valid():
            #do stuff             
    
        return render(request,'property/create.html', {'foo': foo})
    

    【讨论】:

      【解决方案2】:

      你的 las 行是错误的:

      它说:

      return render(request,'property/create.html',{'foo':fooform})
      

      应该是:

      return render(request,'property/create.html',{'foo':foo})
      

      如果这不是问题,请发布错误消息和表单代码。

      【讨论】:

        猜你喜欢
        • 2017-06-14
        • 2012-05-02
        • 1970-01-01
        • 2018-11-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-12
        • 1970-01-01
        相关资源
        最近更新 更多