最近幾天,我們在another question上討論了以REST方式管理隨機性的最佳方法;今天我在Django中發揮了一些想法,只是發現沒有簡單的標準方法來返回303響應(也沒有300響應),也就是說,內部似乎沒有HttpResponseSeeOther django.HTTP或在其他地方。如何在Django中生成303 Http響應?
你知道有什麼方法可以實現嗎?
最近幾天,我們在another question上討論了以REST方式管理隨機性的最佳方法;今天我在Django中發揮了一些想法,只是發現沒有簡單的標準方法來返回303響應(也沒有300響應),也就是說,內部似乎沒有HttpResponseSeeOther django.HTTP或在其他地方。如何在Django中生成303 Http響應?
你知道有什麼方法可以實現嗎?
你可以只覆蓋HttpResponse對象,像其他迴應做:
class HttpResponseSeeOther(HttpResponseRedirect):
status_code = 303
return HttpResponseSeeOther('/other-url/')
通用HttpResponse對象,您可以指定任何你想要的狀態代碼:
response = HttpResponse(content="", status=303)
response["Location"] = "http://example.com/redirect/here/"
如果你需要的東西可重複使用那麼傑拉爾德的答案肯定是有效的;只需創建您自己的HttpResponseSeeOther類。 Django僅爲幾個最常見的狀態代碼提供了這些特定的類。
您也可以將此文件作爲帶有修補程序的故障單進行歸檔。 – 2009-01-03 03:33:12