gpt4 book ai didi

django - 在 Django 中实现仅调试中间件的最佳方式

转载 作者:行者123 更新时间:2023-12-04 04:51:12 27 4
gpt4 key购买 nike

我有一个中间件类,它向 HTML/XML 模板附加注释 block ,标识模板位置、调用它的 View 及其参数等。显然我不想在生产中显示这个评论 block 。中间件类本身有一个

if settings.DEBUG:
# write to template here

警告,因此如果 Debug模式打开,它不应写入模板,但出于我自己的想法,我宁愿根本不在生产服务器上添加中间件类。我希望能够仅在我的本地设置文件中将它添加到中间件类中,但由于它是一个元组,显然这是不可能的。我可以在我的本地设置中覆盖 MIDDLEWARE_CLASSES,但在我这样做之前,我想知道是否有更可接受/更简洁的方法来做到这一点。

最佳答案

您应该将您的生产和本地设置拆分为不同的文件,然后在您的本地设置中您只需添加您的中间件。帮助您入门的小示例:

文件结构:

Settings
---> __init__.py
---> prod.py
---> dev.py

如何仅在 dev.py 设置中添加 django_debug_toolbar 的示例:

__init__.py:

# Other settings ommitted
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
)

开发者.py:

from settings import *
# Other settings ommitted
MIDDLEWARE_CLASSES += ('debug_toolbar.middleware.DebugToolbarMiddleware',)

关于django - 在 Django 中实现仅调试中间件的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17420864/

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