是否可以通过 django 测试客户端中的 post 请求传递 request.body ?

jam*_*es 7 python django unit-testing django-testing

到目前为止我还没有找到任何方法。

https://docs.djangoproject.com/en/1.8/topics/testing/tools/#django.test.Client.options 
Run Code Online (Sandbox Code Playgroud)

显示选项允许 request.body 通过 get 请求,但找不到任何方式通过 post 请求传递。任何想法,我一直在寻找几个小时。

Chr*_*amb 10

是的:

self.client.generic('POST', '/url', 'raw post data')
Run Code Online (Sandbox Code Playgroud)


mil*_*kic 1

如果你真的想做:

request.body = b'{"first": "fred", "last": "dredd"}'
Run Code Online (Sandbox Code Playgroud)

你应该这样做:

request._body = b'{"first": "fred", "last": "dredd"}'
Run Code Online (Sandbox Code Playgroud)