在控制台而非浏览器中显示Django错误
我正在用ExtJS4开发一个REST应用程序,并使用Django 1.6.5来创建一个简单的模拟API。现在我只想把一些数据保存到SQLite数据库中,并把其他一些数据输出到控制台。
测试GET
方法比较简单,但当我遇到POST
、PUT
和DELETE
方法的问题时,我在浏览器中看不到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
(响应)选项卡。在那里,你就能看到 POST
、PUT
和 DELETE
的错误信息。