我有一个中间件类,它在HTML / XML模板中附加一个注释块,用于标识模板位置,调用它的视图及其参数等等。显然我不想在生产中显示这个评论块。中间件类本身有一个
if settings.DEBUG:
# write to template here
警告,所以如果打开调试模式,它不应该写入模板,但对于我自己的想法,我宁愿不在生产服务器上添加中间件类。我希望能够只在我的本地设置文件中将它添加到中间件类,但因为它显然是一个元组,这是不可能的。我可以在我的本地设置中覆盖MIDDLEWARE_CLASSES,但在我这样做之前,我想知道是否有更多接受/更简洁的方法。
答案 0 :(得分:2)
您应该将生产和本地设置拆分为不同的文件,然后在本地设置中添加中间件。帮助您入门的小例子:
文件结构:
Settings
---> __init__.py
---> prod.py
---> dev.py
仅在dev.py设置中添加django_debug_toolbar的示例:
的 强> 的 __初始化__ 强>的.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',
)
dev.py:
from settings import *
# Other settings ommitted
MIDDLEWARE_CLASSES += ('debug_toolbar.middleware.DebugToolbarMiddleware',)