视图blog.views.contacto未返回HttpResponse对象

时间:2014-05-05 18:03:38

标签: django forms views httpresponse

我正在研究我的第一个django项目。我一直试图创建一个简单的联系表单,但我得到错误:

/ blog / contacto /的ValueError / 视图blog.views.contacto没有返回HttpResponse对象。

def contacto (request):
if request.method == 'POST': #Si e formulario es enviado...
    form = Formulario(request.POST)
    if form.is_valid(): #Si son validos los datos del formulario
        return HttpResponseRedirect('/blog/gracias') #redireccion a gracias
    else:
        form = Formulario() #un Unbound form

    return render(request, 'contacto.html',{'form':form,})

我不明白为什么会这样,我检查了django中的表单文档,我所做的视图几乎与文档中的视图相同。

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

如果HttpResponse不是request.method,您的观点不会返回POST

存在缩进问题。如果表单未提交,您需要返回未绑定表单

def contacto (request):
    if request.method == 'POST': #Si e formulario es enviado...
        form = Formulario(request.POST)
        if form.is_valid(): #Si son validos los datos del formulario
            return HttpResponseRedirect('/blog/gracias') #redireccion a gracias
    else:  # <-- WATCH WHERE ELSE IS
        form = Formulario() #un Unbound form

    return render(request, 'contacto.html',{'form':form,})

另请参阅描述此标准表单视图模式的relevant example