Django:从调试页(HTML)进行ascii回溯

2024-04-24 04:01:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我编写了集成测试,这些测试贯穿整个HTTP堆栈:

  • 请求库连接到http服务器
  • http服务器将请求路由到django应用程序
  • django应用程序处理请求

如果django应用程序中存在未捕获的异常,我会得到HTML调试页,因为设置.调试这是真的。你知道吗

在大多数情况下,我喜欢这个页面,但这里想有一个简单的ascii回溯,我可以在我们的连续应用程序工具(Jenkins)中显示。你知道吗

如果我用url客户机库测试应用程序,如何获得ascii回溯?你知道吗


Tags: 工具django服务器应用程序http路由堆栈html
1条回答
网友
1楼 · 发布于 2024-04-24 04:01:26

使用DEBUG=True呈现此页面是在BaseHandler中完成的。它为所有未捕获的异常调用django.views.debug.technical_500_response视图。但是当DEBUG=False另一个视图被称为django.views.defaults.server_error。所以你有两个选择

  1. 编写自定义中间件,捕获所有未捕获的异常并将它们呈现为纯文本 https://docs.djangoproject.com/en/1.10/topics/http/middleware/#process-exception
  2. DEBUG=Falseurls.py中为if jenkins_envhandler500=custom_technical_500_response创建单独的设置文件 这将使你的例外情况符合你的需要 https://docs.djangoproject.com/en/1.10/ref/views/#http-internal-server-error-viewhttps://docs.djangoproject.com/en/1.10/ref/urls/#handler500

相关问题 更多 >