2016-08-11 3 views
1

ich die folgende POST-Anfrage habendjango Post Anforderungsdaten

curl -v --dump-header --H "Content-Type: application/json" -X POST --data '{"name": "John", "age": 27}' "http://localhost:8300/api/v1/create_contact?username=gegham&api_key=3efc6df6023534279d2183a696044a8cfec964a9" 

Ergebnis nach ich drucke request.POST

ist
POST:<QueryDict: {u'{"name": "John", "age": 27}': [u'']}> 

aber nicht

POST: <QueryDict: {u'name': [u'John'], u'age': [u'27']}> 

Also, ich kann Benutze dies nicht als Diktat und erhalte Werte mit Schlüsseln. Warum POST-Datenformat ist anders als üblich?

+0

Django behandelt JSON standardmäßig nicht – khajvah

+0

@khajvah danke – gjivanya

Antwort

3

Da Sie JSON senden, keine Formulardaten. Verwenden Sie request.body und deserialisieren Sie es mit json.loads.

+0

Danke Daniel Roseman !!! Jetzt funktioniert es. – gjivanya

+0

Nebenbei bemerkt: Verwendung von Postman statt CURL macht das Leben leichter. – Kishan

Verwandte Themen