gpt4 book ai didi

python - Django:来自调试页面的 ascii 回溯 (HTML)

转载 作者:行者123 更新时间:2023-12-01 03:36:30 25 4
gpt4 key购买 nike

我编写集成测试,它会遍历整个 HTTP 堆栈:

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

如果 django 应用程序中有未捕获的异常,我会得到 HTML 调试页面,因为 settings.DEBUG 为 True。

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

如果我使用 url 客户端库测试我的应用程序,如何获取 ascii 回溯?

最佳答案

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

  1. 编写自定义中间件来捕获所有未捕获的异常并将其呈现为纯文本 https://docs.djangoproject.com/en/1.10/topics/http/middleware/#process-exception
  2. 为此处设置的 jenkinks 创建单独的设置文件 DEBUG=False 并在 urls.py 中为 if jenkins_env 设置 handler500=定制_技术_500_响应这将按照您需要的方式呈现您的异常 https://docs.djangoproject.com/en/1.10/ref/views/#http-internal-server-error-viewhttps://docs.djangoproject.com/en/1.10/ref/urls/#handler500

关于python - Django:来自调试页面的 ascii 回溯 (HTML),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40300498/

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