2009-12-17 26 views

回答

52
  1. response = HttpResponse("Here's the text of the Web page.")
    將創建HTTP代碼200(OK),並傳遞給構造函數的內容的新HttpResponse對象。一般來說,你只能使用它來做出非常小的響應(比如AJAX表單返回值,如果它非常簡單 - 只是一些數字)。

  2. HttpResponseRedirect("http://example.com/")
    將創建HTTP代碼302新HttpResponse對象(測定值/暫時移動)。 這應該只用於重定向到另一個頁面(例如,成功的表單POST之後)

從文檔:

class HttpResponseRedirect 構造函數一個參數 - 路徑重定向至。 這可以是完全限定的URL (例如'http://www.yahoo.com/search/') 或絕對URL,沒有域 (例如'/ search /')。請注意,這 返回一個HTTP狀態代碼302

說得夠多了......

render_to_response(template[, dictionary][, context_instance][,mimetype])
呈現給定模板與給定的語境詞典,並返回 與 呈現的HttpResponse對象文本。

是一個調用來呈現模板與給定的變量字典來爲您創建響應。 這是你應該使用的大部分時間,因爲你想保持你的表示邏輯模板而不是代碼。

+1

處理POST後不應使用render_to_response。 POST處理後,重定向是一個更好的選擇,因爲它不會顯示消息說表單將被重新提交。 – cethegeek 2009-12-17 13:57:23

+3

我其實在我的答案中寫道...我會大膽的。 – 2009-12-17 14:06:28

+0

感謝隊友的詳細解答:) – 2009-12-17 15:57:31

相關問題