gpt4 book ai didi

django - 在由 Rest Framework 引起的 Django 500 错误中显示 request.DATA

转载 作者:行者123 更新时间:2023-12-01 09:56:48 26 4
gpt4 key购买 nike

我已经使用 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"

在 Django 错误日志中我得到:

...
GET: No GET data
POST: No POST data
FILES: No FILES data
...

如果我能在错误日志中看到哪些数据最初是通过 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

关于django - 在由 Rest Framework 引起的 Django 500 错误中显示 request.DATA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24916207/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com