Django模型验证

时间:2013-09-17 07:28:41

标签: django django-forms

我正在使用django模型和formsets。但我面临的问题是,当表单未经过验证时,不会在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页面显示错误的字段。我做错了什么?

编辑:

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

2 个答案:

答案 0 :(得分: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})

答案 1 :(得分:1)

你的拉斯维加斯错误:

它说:

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

应该是:

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

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