1 つの HttpRequest で POST および GET 要求を実行できますか?
もしそうなら、どうすればどちらかの存在を検出できますか?
すなわち
request.method == 'POST'
と
request.method == 'GET'
両方を同時に真にすることはできません。(まあ、== の定義や、メソッドの呼び出しを関数にリダイレクトすることで恐ろしいハッカーを実行できると思いますが、ええと。)
リクエストではなくレスポンスを返します。応答は、それがforであるか、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
1 つの HTTP 応答 (基盤となるテクノロジのように) は、POST データと GET データの両方を返すことができない/返すべきではないことが判明しました。私のこの根本的な誤解が人々を混乱させたと思います。