はじめに
Djangoで作成した既存プロジェクトの設定ファイルが置いてあるディレクトリ名を変更したかったので調べました。
以下のコマンドでは、プロジェクト名と同じ名前で設定ファイルを置くディレクトリが作成されます。
django-admin startproject project project - project - asgi.py - wsgi.py - urls.py - settings.py - manage.py
プロジェクト作成時にconfigディレクトリに設定ファイルを作る場合は、以下のように行います。
/home/www/wsgi以下にプロジェクトを作ると仮定します。
mkdir /home/www/wsgi/project cd /home/www/wsgi/project django-admin startproject config . project - config - asgi.py - wsgi.py - urls.py - settings.py - manage.py
環境
- Debian12 bookworm - Django 5.0.6
設定ディレクトリ名の変更
「django-admin startproject project」コマンドで作成したprojectディレクトリをconfigに変更します。
projectディレクトリ名の変更
cd /home/www/wsgi/project mv project config
manage.py
cd /home/www/wsgi/project vi manage.py
projectをconfigに修正します。
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project.settings') ↓ os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')
wsgi.py
cd /home/www/wsgi/project/config vi wsgi.py
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project.settings') ↓ os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')
asgi.py
cd /home/www/wsgi/project/config vi asgi.py
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project.settings') ↓ os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')
settings.py
cd /home/www/wsgi/project/config vi settings.py
ROOT_URLCONF = 'project.urls' WSGI_APPLICATION = 'project.wsgi.application' ↓ ROOT_URLCONF = 'config.urls' WSGI_APPLICATION = 'config.wsgi.application'
uwsgi.ini
uWSGIを使っている場合は、uwsgi.iniを修正します。
module = project.wsgi:application ↓ module = config.wsgi:application
Daemonの再起動
NginxとuWSGIを使っているのでDaemonを再起動します。
uwsgi-projectは独自に作成したプロジェクト用の起動スクリプトです。
sudo systemctl restart nginx sudo systemctl restart uwsgi-project
Comments