0

我有一个非常基本的视图来保存表单。出于某种原因,我不断收到“视图未返回 HttpResponse 对象”错误。我在这里查看了这个常见问题,但没有找到适用于我的解决方案。有人有想法吗?我已经包含了下面的代码。非常感谢这个简单问题的帮助!

def EarlyAdopterSignup(request):
    f = LandingPageForm(request.POST)
    if f.is_valid():
        email = f.cleaned_data['email']
        zip = f.cleaned_data['zip']
        adopter = EarlyAdopter(email = email, zip = zip)
        try:
            adopter.save()
            return render_to_response('EarlyAdopterSignup.html')
        except:
            return HttpResponse("There was an error with your submission. Please try again.")
4

2 回答 2

5

要跟进 AL 的说法,有必要处理表格无效的情况。

这可以通过将绑定的无效表单 ( f) 传递回您的模板来非常简单地处理。

https://docs.djangoproject.com/en/dev/topics/forms/?from=olddocs#using-a-form-in-a-view

是您需要做的确切说明^

def EarlyAdopterSignup(request):
    f = LandingPageForm(request.POST)
    if f.is_valid():
        email = f.cleaned_data['email']
        zip = f.cleaned_data['zip']
        adopter = EarlyAdopter(email = email, zip = zip)
        try:
            adopter.save()
            return render_to_response('EarlyAdopterSignup.html')
        except:
            return HttpResponse("There was an error with your submission. Please try again.")

   # handle where not valid
   return render(request, 'your_form_template.html', {
    'form': f,  # <- your invalid form instance
})
于 2012-07-03T18:33:48.263 回答
3

好吧,首先,如果您的表单无效,您将不会返回任何内容。您应该重新显示显示错误的表单。

于 2012-07-03T18:15:51.723 回答