django2.1.15にdjango-debug-toolbarを適用する方法

python

公式のドキュメントがクソだし、AIに何度聞いてもちがうこというし大変でした。
結論としてはdjangoのバージョンを上げろってことなんですが、無理な方向けに書いときます。

version

pip install django-debug-toolbar==1.11.1

多分2.1でもいいけど、GEMINI君が1.11.1にしろってうるさかったから一応これにしてる。

config.setting.py

INSTALLED_APPS = [
    # ...
    "debug_toolbar",
    # ...
]
MIDDLEWARE = [
    # ...
    "debug_toolbar.middleware.DebugToolbarMiddleware",
    # ...
]
if DEBUG:
    MIDDLEWARE.insert(2, 'debug_toolbar.middleware.DebugToolbarMiddleware')
    INSTALLED_APPS.append('debug_toolbar')
    INTERNAL_IPS = [
    '127.0.0.1',
]

debug_toolbar.middleware.DebugToolbarMiddlewareはGzipとかより下で可能な限り上がいいってドキュメントに書いてあります。

MIDDLEWAREの順序は重要です。デバッグツールバーミドルウェアはリストのできるだけ先頭に含める必要があります。ただし、レスポンスのコンテンツをエンコードする他のミドルウェア(GZipMiddleware など)よりも後に記述する必要があります 。

公式ドキュメント

config.url.py

末尾に追加。おそらくurl.pyの記述が難しすぎて問題があった。(どっかのバージョンから記述方法がかわったっぽいので)

if settings.DEBUG:
    # debug_toolbar をインポート
    import debug_toolbar 
    
    # urlpatterns の "前" に toolbar のパスを追加
    urlpatterns = [
        path('__debug__/', include(debug_toolbar.urls)),
    ] + urlpatterns

python