試圖用Django製作一個表單並使用HttpResponseRedirect,但我認爲這應該相當容易,但是我似乎做錯了什麼。Django HttpResponseRedirect,它返回None而不是
我不斷收到一個錯誤:
The view hotel.views.hotel_registration didn't return an HttpResponse object. It returned None instead.
在這種情況下,我的猜測是,HttpResponseRedirect
不能正常工作,因爲當我刪除if
語句的內容一切正常,但我可以不要提交表格。
我有2次:
def hotel_registration(request):
if request.method == 'POST':
form = HotelRegistrationForm(request.POST)
if form.is_valid():
return HttpResponseRedirect('hotel:hotel_registered')
else:
form = HotelRegistrationForm()
return render(request, 'hotel/hotel-registration-form.html', {'form': form})
def hotel_registered(request):
pass
而在urls.py
url(r'hotel-registratie/', hotel.views.hotel_registration, name='registration'),
url(r'hotel-geregistreerd/', hotel.views.hotel_registered, name='registered'),
這些是我在HttpResponseRedirect中使用的所有參數:
HttpResponseRedirect('hotel:hotel_registered')
HttpResponseRedirect('hotel_registered')
HttpResponseRedirect('/hotel_registered/')
HttpResponseRedirect(hotel_registered)
然後我生鏽想要重定向回根:
HttpResponseRedirect('/')
並採用反向:
HttpResponseRedirect(reverse(hotel_registration))
HttpResponseRedirect(reverse('hotel_registration'))
什麼是做到這一點的正確方法?
我很難搞清楚你確切的問題/問題,但我可以看到你的視圖將返回的位置無:當它使用GET方法調用時。您應該嘗試減少最終返回語句的縮進級別。 –
@JoeyWilhelm就是這樣。 –