/ Sérendipité / Code / Accéder à de la donnée de...

Accéder à de la donnée de formulaire en PUT depuis Django

Par défaut, Django fournit de quoi accéder aux variables GET ou POST, mais pas PUT.

Voici comment y remédier:

from django.urls import path
from django.http import HttpRequest, HttpResponse, JsonResponse
from django.views.decorators.csrf import csrf_exempt
from django.http import QueryDict

@csrf_exempt
def read_put_data(request: HttpRequest) -> JsonResponse:
    put_data = QueryDict(request.body)
    return JsonResponse({"put_data": put_data})

urlpatterns = [path("putest/", read_put_data),]

Pour tester avec CURL:

curl -X PUT -d arg=val -d arg2=val2 localhost:8000/putest/