2016-07-21 7 views
0

Ich habe einige Djangotests ausgeführt und bin auf ein Problem gestoßen, bei dem die POST-Daten fehlten. Um das Problem zu verfolgen, druckte ich request.body, um zu sehen, ob die Daten dort angekommen sind, aber wenn ich es drucke, verschwindet das Problem und die POST-Daten sind verfügbar.Django request.body Testfehler

Wenn ich diesen Code in meiner Ansicht nach setzen werden die Prüfungen bestehen:

if request.body: 
    print("*") 
... 

Ich bin mit django 1.8.14 und Rest Rahmen django. Jeder hat eine Idee, warum das passieren könnte?

+1

helfen Können Sie Rest des Codes zur Verfügung stellen? –

+0

Ich werde sehen, ob ich ein minimales Beispiel machen kann, das bricht. Es gibt viel zu posten. – leech

Antwort

-1

Es hängt davon ab, wie die Daten an Django gesendet werden. Wenn die Daten als normales form-encoded-data gesendet werden, wird es in request.POST verfügbar sein. Aber wenn die Daten als Json gesendet wird, wird es nur in request.body

verfügbar sein Was, wie es funktioniert, nachdem Sie drucken, das Hinzufügen einige mehr Code

+0

Es sind nur normale Daten mit dem eingebauten "self.client.post" gesendet – leech

+0

@leech self.client.post ??? –

+0

Es ist in einem Standard-Django-Test, https://docs.djangoproject.com/en/1.9/topics/testing/tools/#django.test.Client.post – leech

Verwandte Themen