🐕

【備忘録】Django - 開発サーバの自動リロード

2024/12/14に公開

背景

開発サーバの自動リロードにはvscodeの拡張機能のLive Serverが便利だが、django-htmlではbase.htmlheadタグbodyタグを分けてしまうためうまく作動しなかった。
そこで、django-browser-reloadという便利な機能を見つけたので備忘録に残しておく。

手順

1. pythonの仮想環境内でdjango-browser-reloadをインストール

termimal
# ここでは仮想環境名をmyvenvとする。
source myvenv/bin/activate  # windowsの場合は .\myvenv\Scripts\activate
pip install django-browser-reload

2. settings.pyの編集

settings.py
INSTALLED_APPS = [
    .... # 省略
    'django_browser_reload'  # 追加
]

MIDDLEWARE = [
    .... # 省略
    'django_browser_reload.middleware.BrowserReloadMiddleware',  # 追加
]

3. 開発サーバの起動

terminal
python manage.py runserver

4. urls.pyの編集

urls.py
from django.conf import settings
from django.urls import path, include

if settings.DEBUG:
    urlpatterns += [
        path("__reload__/", include("django_browser_reload.urls")),
    ]

Discussion