You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django 4.2.5开启DEBUG=True却不显示黄色错误页求助

Django 4.2.5 DEBUG=True却不显示黄色错误页的排查方向
  • 检查ALLOWED_HOSTS配置
    当DEBUG=True时,若ALLOWED_HOSTS未包含当前访问的主机地址,Django会判定请求来自不安全来源,自动返回通用500错误提示而非调试页。确保配置包含你当前使用的访问地址,比如本地开发可设置:

    ALLOWED_HOSTS = ['localhost', '127.0.0.1', '[::1]']
    

    或临时设为['*']测试是否解决问题。

  • 排查第三方中间件干扰
    你的中间件列表包含corsheaders.middleware.CorsMiddleware和debug_toolbar.middleware.DebugToolbarMiddleware,这类第三方中间件可能在错误处理流程中修改了响应。尝试临时移除这些第三方中间件,保留Django核心中间件后测试:

    MIDDLEWARE = [
        'django.middleware.security.SecurityMiddleware',
        'django.contrib.sessions.middleware.SessionMiddleware',
        'django.middleware.common.CommonMiddleware',
        'django.middleware.locale.LocaleMiddleware',
        'django.middleware.csrf.CsrfViewMiddleware',
        'django.contrib.auth.middleware.AuthenticationMiddleware',
        'django.contrib.messages.middleware.MessageMiddleware',
        'django.middleware.clickjacking.XFrameOptionsMiddleware',
        'django.contrib.admindocs.middleware.XViewMiddleware'
    ]
    

    若恢复调试页,再逐个加回中间件定位具体干扰项。

  • 检查是否存在自定义异常处理
    项目中若自定义了handler500视图,会覆盖Django默认的调试错误页。查看根urls.py是否有类似配置:

    handler500 = 'your_app.views.custom_error_page'
    

    若存在,注释后测试是否恢复默认调试页。

  • 验证DEBUG_PROPAGATE_EXCEPTIONS的影响
    DEBUG_PROPAGATE_EXCEPTIONS = True会让异常直接传播到WSGI服务器而非由Django处理。若你使用的服务器(如非runserver的生产级服务器)捕获异常并返回自身的错误页面,也会看不到Django的调试页。可临时将其设为False,测试是否能正常显示调试页。

  • 排查模板或静态文件损坏
    Django的调试错误页依赖自带的模板和静态资源,若这些文件被修改或损坏,可能无法正常渲染。可新建一个空白Django 4.2.5项目,触发错误测试是否能显示调试页,以此排除项目文件本身的问题。

内容的提问来源于stack exchange,提问作者Bad Boy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 08:07:16