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

如何配置Django Debug Toolbar排除指定URL不加载调试工具栏

调整方法

你只需要修改现有配置中的SHOW_TOOLBAR_CALLBACK回调函数,增加特定页面的排除判断即可,不需要改动其他逻辑。

按URL路径排除(最常用)

直接修改你的settings.py配置,调整后的完整配置参考如下:

import os

# This file contains Django settings for lower environments that use the Django Debug Toolbar.
# Currently those envronments are DEV and QA.
from core.settings import *  # noqa: F403

# We need the ability to disable debug_toolbar for regression tests.
DEBUG = os.getenv('DEBUG_MODE', 'FALSE').upper() == 'TRUE'

# 在此处配置需要排除Debug Toolbar的页面路径前缀
EXCLUDED_DEBUG_TOOLBAR_PATHS = [
    "/heavy/sql-report/",  # 替换成你实际的大SQL页面路径
    "/batch/data-export/",
]

def toolbar_callback(request):
    # 原有DEBUG开关判断
    if not DEBUG:
        return False
    # 命中排除路径则不加载toolbar
    req_path = request.path
    for path in EXCLUDED_DEBUG_TOOLBAR_PATHS:
        if req_path.startswith(path):
            return False
    return True


DEBUG_TOOLBAR_CONFIG = {
    "SHOW_TOOLBAR_CALLBACK": toolbar_callback,
}

INSTALLED_APPS += ['debug_toolbar', ]  # noqa: F405
MIDDLEWARE += ['debug_toolbar.middleware.DebugToolbarMiddleware', ]  # noqa: F405

其他可选判断规则

  • 如果你不想硬编码URL路径,可以通过request.resolver_match.url_name(路由名)、request.resolver_match.namespace(路由命名空间)做匹配,后续调整路由路径时不需要同步修改排除规则
  • 也可以根据请求参数、访问用户身份、响应类型等自定义规则判断,只要回调函数返回False,Debug Toolbar就不会注入页面,也不会执行SQL采集、面板渲染的耗时逻辑,完全避免请求超时问题。

注意:不需要调整Debug Toolbar中间件的注册顺序,回调返回False时中间件会直接跳过所有toolbar相关处理,不会产生额外性能开销。

内容的提问来源于stack exchange,提问作者Mahak Malik

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 12:18:24