gre*_*sov 2 django json django-rest-framework
我正在使用Django REST Framework,所有API调用都来自Android和iOS应用程序.该系统完美的作品大部分时间,不过,内部服务器错误发生的时候,我从Django中收到一封电子邮件时,POST的WSGIRequest包含<could not parse>,而不是实际的发布JSON数据(尽管'CONTENT_TYPE': 'application/json'也是在报头,并将数据发送作为JSON).
这真的很烦人,因为很高兴看到实际导致错误的请求体,而不仅仅是堆栈跟踪.
该<could not parse>部分非常类似于这个问题(在ModPythonRequest部分中):django request.POST包含<无法解析>,但实际问题略有不同.此问题中的参考链接(/sf/ask/873016301/)似乎尽管这个名字看起来非常有希望,但它已经下降了.
我在Django 1.6.2和DRF 2.3.13上.
它的POST字典WSGIRequest总是无效的,因为它的目的Content-Type是在is application/x-www-form-urlencoded或者时保存解析后的表单数据multipart/form-data.
您想要的数据body位于WSGIRequest对象的属性中,当该对象转换为要写入日志的字符串时,不会输出该数据.
使用 Django REST framework 时,您通常希望访问request.DATA(它将处理您配置解析器的任何格式 - 默认为表单内容和 JSON)而不是 Django 的标准request.POST,后者将仅处理表单编码数据。
| 归档时间: |
|
| 查看次数: |
4636 次 |
| 最近记录: |