2009-02-01 17 views
9

Estoy tratando de descubrir cómo implementar mi primera interfaz RESTful usando Django y django-rest-interface. Tengo problemas con las solicitudes HTTP PUT.usando django-rest-interface con 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 a mi entender, pero esa matriz siempre está vacía.

¿Qué estoy haciendo mal?

Gracias por la ayuda

+0

Supongo que ha intentado request.PUT? –

Respuesta

13

request.POST procesa los datos del formulario codificados en un diccionario, que sólo 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 this thread.

3

si la figura en el envío 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 vamos a preparar para que la request.PUT con los datos y se pone el request.method, por lo que no tiene que preocúpese por eso ...

Cuestiones relacionadas