是否有可能在Django中檢索HTTP PATCH請求的請求參數? request.method == 'PATCH'
是公認的,但我很難找回請求的有效載荷。我試過request.REQUEST.items()
,但是這並沒有包含任何數據。我知道我可以使用Django-tastypie,但在這種情況下,我想避免它(我認爲tastypie無論如何都使用一些Django方法來檢索這些數據)。在Django中獲取PATCH請求參數
我正在使用Django 1.5.1。
是否有可能在Django中檢索HTTP PATCH請求的請求參數? request.method == 'PATCH'
是公認的,但我很難找回請求的有效載荷。我試過request.REQUEST.items()
,但是這並沒有包含任何數據。我知道我可以使用Django-tastypie,但在這種情況下,我想避免它(我認爲tastypie無論如何都使用一些Django方法來檢索這些數據)。在Django中獲取PATCH請求參數
我正在使用Django 1.5.1。
raw_post_data的伎倆(我以前使用過,但忘記它的存在)
正如@ asitm9提到的,使用request.data
作品POST
,PUT
和PATCH
和建議。
你在說哪個版本的Django? –
'request.data'不包含任何內容 – Dave
您可以手動使用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']
[?Django的 - 當存儲在一個把PARAMS/DELETE請求]的
可能重複(HTTP ://stackoverflow.com/questions/4994789/django-where-are-the-params-stored-on-a-put-delete-request) – falsetru
@falsetru:我不認爲這是一個重複的問題(這一個是關於'PATCH' - 人們(像我)在尋找'PATCH'時可能找不到這個鏈接)。儘管如此,感謝鏈接 - 'raw_post_data'做了竅門(我之前使用過它,但忘記它存在)。 – orange
我發現上面的問題使用'PATCH','django'作爲搜索關鍵字。 – falsetru