django-debug-toolbarが表示できない
django-debug-toolbarを導入した際にdebug_toolbarがなかなか表示できなかったので対策を書きます。
環境
- Python:3.9
- django:3.1.5
- django-debug-toolbar:3.2
django_debug_toolbarの導入
まずはdjango_debug_toolbarをインストールします。
pipenvで仮想環境を作っているので仮想環境の外からpipenv installします。デバッグ用のパッケージなのでdevオプションをつけてインストールします。
PS > pipenv install --dev django-debug-toolbar
Pipfileのdev-packagesにdjango-debug-toolbarが追加されているのを確認します。
[dev-packages]
django-debug-toolbar = "*"
公式サイトを参照してdjnagoにdebug_toolbarを設定していきます。まずはsettings.pyに以下のコードを追加します。
if DEBUG:
INTERNAL_IPS = ['127.0.0.1']
INSTALLED_APPS += ['debug_toolbar']
MIDDLEWARE += ['debug_toolbar.middleware.DebugToolbarMiddleware']
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 = {
'SHOW_TEMPLATE_CONTEXT': lamda request: True,
}
RENDER_PANELS = True
urls.pyを設定します。debug_toolbar.urlsにはquote(")は付けません。
from config import settings
if settings.DEBUG:
import debug_toolbar
urlpatterns = [path('__debug__/', include(debug_toolbar.urls)),] + urlpatterns
runserverして動作確認する
設定が終わったのでrunserverして動作確認します。
PS > python .\manage.py runserver
MEMETYPEのエラーを解消する
debug_toolbarが表示されない場合、ブラウザのデベロッパーツールでエラーが出ていないか確認します。MEMETYPEに対するエラーの場合はこのようなエラーが表示されていると思います。
Loading module from "***/debug_toolbar/js/toolbar.js" was blocked because of a disallowed MEME type ("text/plain").
このような感じのエラーが出ていた場合は以下を追加で設定します。
if DEBUG:
...
import mimetypes
mimetypes.add_type("application/javascript"), ".js", True)
これでも改善しない場合は、レジストリエディタ(regedit)でWindowsのレジストリを書き換えてみます。レジストリエディタを開き、HKEY_CLASSES_ROOT\.js\ContentType
の値を確認します。
ContentTypeが「text/plain」になっていると思いますので、この値を「text/javascript」に書き換えます。PCを再起動して再度runserverしてdebug_toolbarが動作しているか確認してみてください。
私はどちらも同時にやってしまったのでどちらが効果あったのか定かではないのですが、debug_toolbarは使えるようになりました。
プログラミングdjango,django-debug-toolbar,python
Posted by amauzpoo
関連記事
VisualStudioCodeとpipenvでpython環境構築
新規のプロジェクトを作成するときにpipenvで環境構築しています。毎度やり方忘 ...
WindowsでPython3のEclipse環境構築
Pythonの環境をWindows上にEclipseのIDE環境として構築すると ...
pythonでConfluenceをスクレイピング#2
前回に続き、出社率を計算するプログラムをpythonで作っていきます。前回の記事 ...
docker-composeでWebアプリケーションをデプロイする
djangoで作成したWebアプリケーションをLinuxマシンにデプロイしてみた ...
pythonでConfluenceをスクレイピング#3
実はConfluenceのAPIを使う部分は#2で終わってました。Conflue ...
ディスカッション
コメント一覧
まだ、コメントがありません