POST和GET請求是否可以在一個HttpRequest中發生?Django - POST和GET請求可以在一個HttpRequest中返回嗎?
如果是這樣,我該如何檢測其中一個或另一個的存在?
即
request.method == 'POST'
和
request.method == 'GET'
可以不同時爲真。 (好吧,我想一個可以做一些可怕的hackery定義==或重定向調用方法到一個函數,但是新聞。)
POST和GET請求是否可以在一個HttpRequest中發生?Django - POST和GET請求可以在一個HttpRequest中返回嗎?
如果是這樣,我該如何檢測其中一個或另一個的存在?
即
request.method == 'POST'
和
request.method == 'GET'
可以不同時爲真。 (好吧,我想一個可以做一些可怕的hackery定義==或重定向調用方法到一個函數,但是新聞。)
你不返回一個請求,但一個響應。響應不關心它是否爲GET
或POST
,它取決於您的實施方式,以及您想要執行的操作並響應這些請求。
修改意見: 您可以安全地使用您的方法來檢查請求的類型,即使用request.method == 'POST'
或request.method == 'GET
。如果你想確認一下request.POST
。 例如
if request.method == 'POST' and request.POST:
#do POST processing
elif request.method == "GET" and request.GET :
#do GET processing
你是對的,我已經更新了這個問題。如何判斷POST是否實際存在或爲空,而不調用'if request.POST:' – jhoyla 2012-07-19 11:41:13
原來,一個HTTP響應(如在底層技術中)不能/不應該同時返回POST和GET數據。我認爲我這個根本的誤解讓人們感到困惑。
HTTP請求是POST _或_ GET not _and_。 – 2012-07-19 12:06:09
這就是我正在尋找的,謝謝。我不確定文檔中的OR是真正的OR還是XOR。 – jhoyla 2012-07-19 12:07:14
除Django實際上允許您在同一請求中發送POST _and_ GET。 嘗試將表單的action屬性設置爲action =「dosomething /?var = 1」和method =「post」。您將能夠在request.GET和request.POST QueryDicts中查看數據。 – 2012-07-19 20:45:53