2009-02-01 4 views
9

Ich versuche herauszufinden, wie meine erste RESTful-Schnittstelle mit Django und Django-Rest-Schnittstelle zu implementieren. Ich habe Probleme mit den HTTP-PUT-Anfragen.mit django-rest-interface mit http setzen

Wie kann ich auf die Parameter der PUT-Anfrage zugreifen? Ich dachte, sie würden in der request.POST-Array, wie PUT ist in meinem Verständnis etwas ähnlich wie POST, aber das Array ist immer leer.

Was mache ich falsch?

Danke für die Hilfe

+0

Ich nehme an, Sie haben request.PUT versucht? –

Antwort

13

request.POST verarbeitete form codierte Daten in ein Wörterbuch, das nur Sinn für Web-Browser Formulare macht. Es gibt kein Äquivalent für PUT, da Webbrowser keine Formulare ausfüllen; Die übermittelten Daten können einen beliebigen Inhaltstyp haben. Sie müssen die Rohdaten aus request.raw_post_data abrufen, möglicherweise den Inhaltstyp überprüfen und ihn verarbeiten, was jedoch für Ihre Anwendung sinnvoll ist.

Weitere Informationen in this thread.

3

, wenn Sie in den Versand von ResourceBase Figur gibt es eine Zeile wie:

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

load_put_and_files für Sie lassen bereiten die request.PUT mit den Daten y die request.method gelegt wird, so dass Sie sich nicht Sorgen Sie sich darum ...