我正在使用 Django REST Framework,所有 API 调用都来自 Android 和 iOS 应用程序。该系统在大多数情况下都运行良好,但是,当发生内部服务器错误并且我收到来自 Django 的电子邮件时,POST
WSGIRequest
的包含<could not parse>
而不是实际发布的 JSON 数据(尽管 'CONTENT_TYPE': 'application/json'
也在 header 中,并且数据以 JSON 形式发送)。
这真的很烦人,因为如果能看到实际导致错误的请求正文,而不仅仅是堆栈跟踪,那就太好了。
<could not parse>
部分与此问题非常相似(在ModPythonRequest
部分):django request.POST contains <could not parse> ,但实际问题略有不同。此外,该问题中的引用链接( https://stackoverflow.com/questions/12471661/mod-python-could-not-parse-the-django-post-request-for-blackberry-and-some-andro )似乎已经消失,尽管这个名字看起来很有前途。
我使用的是 Django 1.6.2 和 DRF 2.3.13。
最佳答案
POST
字典WSGIRequest
总是无效的,因为它的目的是在 Content-Type
时保存解析的表单数据。是 application/x-www-form-urlencoded
或multipart/form-data
.
您想要的数据在 body
中WSGIRequest
的属性对象,当该对象转换为要写入日志的字符串时,不会输出该对象。
关于json - Django 无法解析内部服务器错误的 WSGIRequest 的 POST 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24674978/