python - start - django rest framework tutorial
usando django-rest-interface con http put (2)
Estoy intentando descubrir cómo implementar mi primera interfaz RESTful usando Django y django-rest-interface. Tengo problemas con las solicitudes HTTP PUT.
¿Cómo accedo a los parámetros de la solicitud PUT? Pensé que estarían en la matriz request.POST, ya que PUT es algo similar a POST en mi comprensión, pero esa matriz siempre está vacía.
¿Qué estoy haciendo mal?
Gracias por la ayuda
request.POST procesa los datos codificados en un diccionario, lo que solo tiene sentido para los envíos de formularios del navegador web. No existe un equivalente para PUT, ya que los navegadores web no tienen formularios PUT; los datos enviados pueden tener cualquier tipo de contenido. Necesitará obtener los datos brutos de request.raw_post_data, posiblemente verifique el tipo de contenido y procese, sin embargo, tiene sentido para su aplicación.
Más información en este hilo .
Si figura en el despacho de ResourceBase, hay una línea como:
elif request_method == ''PUT'':
load_put_and_files(request)
return target.update(request, *args, **kwargs)
load_put_and_files deja que prepare la solicitud. PUT con los datos y request.method es PUT, por lo que no tienes que preocuparte por eso ...