web-dev-qa-db-ja.com

Djangoデバッグツールバーを表示するにはどうすればよいですか?

Django webappを持っています。debug_toolbarミドルウェアとモジュールをインストールしました。しかし、私のwebappにはデバッグツールバーのプルアウトがありません。

デバッグツールバーを実際に表示するにはどうすればよいですか?他にやらなければならないことがありますか? Webアプリに特定のテンプレートを使用する必要がありますか? READMEのすべての手順を実行しましたが、それだけでは十分ではありません。他の依存関係があるか、他に何かが欠けているようです。

また、私のwebappのURLパターンのセットを見ると、認識されたパターンの中でdebugプレフィックスがnotになっています。モジュールがアクティブ化されたdebug_toolbarアプリケーションによってロードされていることを確認するために、debug_toolbarのurls.pyにログを記録しました。

これは私を完全に不思議に思っています、そして私はこれを実際に表示させるために何をすべきか、または要件が何であるかについてグーグルまたはREADMEを見つけることができないので、あなたが提供できるどんなポインターも素晴らしいでしょう!

編集:ブラウザを実行しているマシンからDjango/Apacheを実行しているマシンへのSSHトンネルを使用してこれをテストしていたことがわかりました。この場合、リモートマシンで実際に表示されたIPアドレスは私が思っていたものではなかったため、「適切な」IPのリストにはブラウザの見かけのリモートマシンが含まれていませんでした。それを修正すると問題が修正されました!

28
Jon Watte
  1. 私の知っているように、HTMLページには閉じたボディタグ、content="text/html"

  2. すべてのデバッグツールバーの設定がメイン設定から分離されている方法が好きです。したがって、settings.pyの最後に次のようなものを入れてみてください

    #debug_toolbar settings
    if DEBUG:
        INTERNAL_IPS = ('127.0.0.1',)
        MIDDLEWARE_CLASSES += (
            'debug_toolbar.middleware.DebugToolbarMiddleware',
        )
    
        INSTALLED_APPS += (
            'debug_toolbar',
        )
    
        DEBUG_TOOLBAR_PANELS = [
            'debug_toolbar.panels.versions.VersionsPanel',
            'debug_toolbar.panels.timer.TimerPanel',
            'debug_toolbar.panels.settings.SettingsPanel',
            'debug_toolbar.panels.headers.HeadersPanel',
            'debug_toolbar.panels.request.RequestPanel',
            'debug_toolbar.panels.sql.SQLPanel',
            'debug_toolbar.panels.staticfiles.StaticFilesPanel',
            'debug_toolbar.panels.templates.TemplatesPanel',
            'debug_toolbar.panels.cache.CachePanel',
            'debug_toolbar.panels.signals.SignalsPanel',
            'debug_toolbar.panels.logging.LoggingPanel',
            'debug_toolbar.panels.redirects.RedirectsPanel',
        ]
    
        DEBUG_TOOLBAR_CONFIG = {
            'INTERCEPT_REDIRECTS': False,
        }
    

(編集注:lapisは、現在の(この更新の時点で、1.3.2)バージョンのDjangoデバッグツールバーで使用されている名前と一致するように、上記の構成を更新しました。Per http://Django-debug-toolbar.readthedocs.org/en/0.10.0/panels.html 、元のバージョン(たとえば、debug_toolbar.panels.sql.SQLDebugPanelとdebug_toolbar.panels.sql.SQLPanelを使用したもの) 1.3.2)で、この質問が最初に回答されたときは正しかった)

(注:後Django 1.10、MIDDLEWARE_CLASSESMIDDLEWAREでなければなりません。)

48
tony