0

我正在使用 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 页面显示错误字段。我究竟做错了什么?

编辑:

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

4

2 回答 2

2

如何改用这种模式:

def create(request):         
    foo = fooform(request.POST or None, prefix='fooform')
    if foo.valid():
        #do stuff             

    return render(request,'property/create.html', {'foo': foo})
于 2013-09-17T07:32:19.057 回答
1

你的 las 线是错误的:

它说:

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

并且应该是:

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

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

于 2013-09-17T07:32:35.917 回答