2

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

if settings.DEBUG:
    # write to template here

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

4

1 回答 1

3

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

文件结构:

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',)
于 2013-07-02T11:32:26.507 回答