在控制台而非浏览器中显示Django错误

1 投票
3 回答
3490 浏览
提问于 2025-04-18 09:33

我正在用ExtJS4开发一个REST应用程序,并使用Django 1.6.5来创建一个简单的模拟API。现在我只想把一些数据保存到SQLite数据库中,并把其他一些数据输出到控制台。

测试GET方法比较简单,但当我遇到POSTPUTDELETE方法的问题时,我在浏览器中看不到Django返回的错误信息。有没有办法让这些错误在Django的开发服务器控制台中显示出来呢?

3 个回答

0

在settings.py文件中,把DEBUG设置为True,这样Django就会在网页上显示完整的错误信息。

如果DEBUG设置为False,你就需要手动把错误信息打印到控制台,或者用一些日志工具把它导出到日志文件里。

1

在你的 views.py 文件中,你只需要打印出 Response.data 里面的序列化错误,这样 Python 的网络服务器就会显示出失败的详细信息。就像下面这个例子:

def post(self, request, format=None):
    serializer = DataSerializer(data=request.data)
    if serializer.is_valid():
        serializer.save()
        return Response(serializer.data, status=status.HTTP_201_CREATED)
    else:
        error = Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
        print(error.data)
    return error
1

我知道这不是问题的答案,但这是解决提出的问题的方法。在谷歌浏览器中,如果你打开开发者工具(按下 Ctrl+Shift+J),你可以找到 Network(网络)这个选项卡,点击出现错误的请求(它会显示为红色),然后在右侧打开的面板中点击 Response(响应)选项卡。在那里,你就能看到 POSTPUTDELETE 的错误信息。

在这里输入图片描述

撰写回答