在 Django 中获取 PATCH 请求参数

ora*_*nge 7 django rest http http-headers

是否可以在 Django 中检索 HTTP PATCH 请求的请求参数?request.method == 'PATCH'被识别,但我很难检索请求有效负载。我试过了request.REQUEST.items(),但这不包含任何数据。我知道我可以使用 Django-tastypie,但在这种情况下,我想避免使用它(而且我认为 Tastypie 无论如何都在使用一些 Django 方法来检索这些数据)。

我正在使用 Django 1.5.1。

Den*_*nti 7

您可以手动使用 QueryDict 类。这是在 django 中实现的类,用于处理通过 http 请求接收到的所有文本数据。

文档上的链接:https : //docs.djangoproject.com/en/1.11/ref/request-response/#django.http.QueryDict

这是一个用法示例:

from django.http import QueryDict

def home_view(request):

    if request.method == 'PATCH':
        data = QueryDict(request.body)
        print data['your_field']
Run Code Online (Sandbox Code Playgroud)


Pau*_*tte 0

raw_post_data 做到了这一点(我以前用过它,但忘记了它的存在)