Django Rest Framework debug post and put requests
我使用drf扩展来对模型使用se json列表,在那里我可以用
在调试模式下,我有此设置:
1 2 3 4 5 6 7 8 | INSTALLED_APPS += ('debug_toolbar',) MIDDLEWARE_CLASSES += ('debug_toolbar.middleware.DebugToolbarMiddleware',) DEBUG_TOOLBAR_PATCH_SETTINGS = False INTERNAL_IPS = ( '127.0.0.1' ) |
现在,当我在调试工具栏中尝试使用
我发现
https://github.com/django-silk/silk/丝绸/
如果您需要截获请求/响应并应用自己的处理,那么您可以添加自定义的mixin,如此答案中所述。
但在最简单的场景中,假设您使用Python请求执行测试后请求(或Put):
1 2 | import requests response = requests.post('http://localhost:8000/person', json={"name":"dinsdale"}) |
然后您可以使用
1 | print(response.text) |
在大多数情况下,输出将包含您正在查找的失败原因,例如
您也可以从终端对
1 2 3 | curl -vv --header"Content-Type: application/json" \ --request POST \ --data '{"name":"dinsdale"}' http://localhost:8000/person/ |
您不能截获DRF可浏览API中的重定向,因为它是Ajax并通过javascript调用。另外,由于Ajax调用,工具栏也不会显示。作为解决方案,您可以在
1 2 3 4 5 | ... # Don't render the toolbar during AJAX requests. # if request.is_ajax(): # return ... |
重定向仍然不起作用,但工具栏是可见的。