gui*_*iot 3 django debugging django-rest-framework
我已经使用 Django Rest Framework 构建了一个 API,但是我遇到了错误日志记录的问题,它不会显示从 AJAX 调用发送到 API 的原始 POST 数据。现在我知道 Rest Framework 使用 request.DATA 来解析 POST 数据,但是我很难在 Django 错误日志中获取这些数据,这使得调试实时应用程序变得困难。
例如,我发送以下 POST 调用:
...
Request Payloadview source
{start:2014-07-16, end:2014-08-18}
end: "2014-08-18"
start: "2014-07-16"
Run Code Online (Sandbox Code Playgroud)
在 Django 错误日志中,我得到:
...
GET: No GET data
POST: No POST data
FILES: No FILES data
...
Run Code Online (Sandbox Code Playgroud)
如果我能在错误日志中看到哪些数据最初是通过 AJAX 调用提交的,那就太好了。我尝试自定义 Rest Framework 异常处理程序,但它没有捕获 Django 中发生的 500 错误。
有一个适用于 Django 1.9+ 和 Rest Framework 3.4 的版本
from rest_framework import permissions
from rest_framework.views import exception_handler
def custom_exception_handler(exc, context):
response = exception_handler(exc, context)
if response is None and context['request'].method not in permissions.SAFE_METHODS:
context['request']._request.POST = context['request'].data
return response
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1962 次 |
| 最近记录: |