2009-02-01 14 views
9

Sto cercando di capire come implementare la mia prima interfaccia RESTful usando Django e l'interfaccia django-rest. Sto avendo problemi con le richieste HTTP PUT.utilizzando l'interfaccia django-rest con http put

Come accedere ai parametri della richiesta PUT? Ho pensato che sarebbero nella request.POST array, dato che PUT è in qualche modo simile a POST nella mia comprensione, ma quell'array è sempre vuoto.

Cosa sto sbagliando?

Grazie per l'aiuto

+0

Suppongo tu abbia provato request.PUT? –

risposta

13

request.POST elabora i dati del modulo codificato in un dizionario, che ha senso solo per la forma del browser web osservazioni. Non esiste un equivalente per PUT, poiché i browser Web non eseguono il PUT; i dati inviati potrebbero avere qualsiasi tipo di contenuto. Avrai bisogno di estrarre i dati grezzi da request.raw_post_data, possibilmente controllare il tipo di contenuto, ed elaborarlo ha comunque senso per la tua applicazione.

Ulteriori informazioni in this thread.

3

se si figura nella spedizione di ResourceBase ci sono una linea come:

elif request_method == 'PUT': 
    load_put_and_files(request) 
    return target.update(request, *args, **kwargs) 

load_put_and_files lasciate preparare per voi la request.PUT con i dati y è mettere il request.method, in modo da non dovete preoccuparsi di questo ...

Problemi correlati