POST 和 GET 请求可以在一个 HttpRequest 中发生吗?
如果是这样,我如何检测其中一个或另一个的存在?
IE
request.method == 'POST'
和
request.method == 'GET'
不能同时为真。(好吧,我想人们可以通过定义 == 或将方法调用重定向到一个函数来做一些可怕的黑客行为,但是 ew。)
您不返回请求,而是返回响应。响应不关心它是否为GET
or POST
,它取决于您的实现,您想要做什么并响应这些请求。
编辑评论:您可以安全地使用检查请求类型的方法,即使用request.method == 'POST'
or 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
事实证明,一个 HTTP 响应(如在底层技术中)不能/不应该同时返回 POST 和 GET 数据。我认为我的这种基本误解使人们感到困惑。