Djangoでアプリ開発をしています。
開発環境ではdebug_toolbarを使用していますが、本番環境ではdebug_toolbarを呼び出したくありません。開発環境では、debug_toolbarは問題なく動いています。
開発環境ではsettings.pyを用い、本番環境ではsettings_production.pyを用いています。
settings.pyでは、下記のように、DEBUGがTrueの場合のみ、debug_toolbarを読み込んでいます。
python
1# settings.py(開発環境) 2 3DEBUG = True 4 5if DEBUG: 6 INTERNAL_IPS = ('127.0.0.1',) 7 MIDDLEWARE += ( 8 'debug_toolbar.middleware.DebugToolbarMiddleware', 9 ) 10 11 INSTALLED_APPS += ( 12 'debug_toolbar', 13 ) 14 # 表示する内容 15 DEBUG_TOOLBAR_PANELS = [ 16 'debug_toolbar.panels.versions.VersionsPanel', 17 'debug_toolbar.panels.timer.TimerPanel', 18 'debug_toolbar.panels.settings.SettingsPanel', 19 'debug_toolbar.panels.headers.HeadersPanel', 20 'debug_toolbar.panels.request.RequestPanel', 21 'debug_toolbar.panels.sql.SQLPanel', 22 'debug_toolbar.panels.staticfiles.StaticFilesPanel', 23 'debug_toolbar.panels.templates.TemplatesPanel', 24 'debug_toolbar.panels.cache.CachePanel', 25 'debug_toolbar.panels.signals.SignalsPanel', 26 'debug_toolbar.panels.logging.LoggingPanel', 27 'debug_toolbar.panels.redirects.RedirectsPanel', 28 ] 29 30 DEBUG_TOOLBAR_CONFIG = { 31 'INTERCEPT_REDIRECTS': False, 32 } 33
本番環境のsettings_production.pyでは、下記のように、基本的には開発環境のsettingsを全て読み込み、DebugのみFalseにしています。
python
1# settings.production.py 2from sample.settings import * # settings.pyを全て読み込み 3DEBUG = False
しかし、実際に本番環境で実行すると、debug_toolbarが読み込まれてしまいます。
これは、先に、settings.pyを読み込むため、Debug=Trueの前提で、if DEBUG:もTrueになってしまうからだと思いました。
そのため、settings_production.pyの方で、改めて、debug_toolbarを削除しようとしました。
python
1# settings_production.py(本番環境) 2Debug = False 3if 'debug_toolbar' in INSTALLED_APPS: 4 INSTALLED_APPS.remove('debug_toolbar')
しかし、これでも、debug_toolbarが読み込まれてしまいました。
どのようにしたら、本番環境でdebug_toolbarを読み込まないようにすることができるでしょうか。
お気づきの点がございましたら、ご教示頂ければ幸いです。
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー