在控制台而不是Web浏览器上显示Django错误

时间:2014-06-12 13:33:34

标签: python django rest extjs

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

虽然测试GET方法非常简单,但当我遇到POSTPUTDELETE的问题时,我无法看到Django返回的错误浏览器。有没有办法让这些错误显示在Django的开发人员服务器控制台中?

3 个答案:

答案 0 :(得分:1)

我知道这不是问题的答案,但它是提出的问题的解决方案。在Google Chrome中,如果您打开开发者工具( Ctrl + Shift + J ),您可以转到Network标签,单击有错误的请求(它将显示为红色),然后单击右侧打开的面板中的Response选项卡。在那里,您将能够看到POSTPUTDELETE的错误。

enter image description here

答案 1 :(得分:1)

views.py 中,您只需打印带有序列化程序错误的 Response.data ,Python Web服务器将显示失败的详细信息。就像在这个例子中一样:

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

答案 2 :(得分:0)

在settings.py中,设置DEBUG = True以使Django在Web响应中显示整个错误信息。

使用DEBUG = False,您必须使用print手动将错误打印到控制台,或使用某些日志工具将其导出到日志中。