Django4 Ubuntu22 static files設定まとめ
Django4 Ubuntu22 static files設定まとめ
意味:
static files
(スタティックファイルズ)とは、djangoフレームワークにおいて、あらかじめレンダリングしてあるファイルのことです。例えば、画像ファイルやCSSファイルやJavaScriptファイルは、static filesに含まれます。別名:
静的ファイルコマンド:
STATIC_URL = '/static/'
#templateからstatic filesを参照するために指定するパス。絶対パスで指定。
STATIC_ROOT = '/var/www/static/'
#collectstaticコマンドで集めたファイルを保存するディレクトリを指定。
#集めたファイルはappごとのディレクトリへ整理する。
#例えば
static/
---app1/static/app1/example.jpg
---app2/static/app2/example.jpg
となる。
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
)
#STATICFILES_DIRS collectstaticコマンドで検索しにいくディレクトリを指定
python manage.py findstatic
python manage.py collectstatic #デプロイ環境でstatic filesを集めにいく
#Gunicornの動作確認
sudo systemctl status gunicorn #状態確認
sudo systemctl restart gunicorn #再起動
sudo systemctl enable gunicorn #自動再起動の設定
#nginx設定
#STATIC_ROOTと異なる
#STATIC_ROOT = /var/www/static/
#Nginx = /var/www/
server {
location /static/ {
root /var/www;
}
}
#その他
ディレクトリのパーミッションを確認して外部からアクセスできるようにしておくこと
解説:
static filesの反対は、dynamic files
(ダイナミックファイルズ)です。dynamic filesは、ユーザのアクセスに対応して、データベースから動的に作成されます。djangoは、デベロップメント環境とデプロイ環境で、static filesの配置を分けています。
django.contrib.staticfilesとは:
static filesの管理にはsettings.pyにある
django.contrib.staticfiles
を使います。多言語対応:
日本語:
static files ひらがな すたてぃっくふぁいるず カタカナ スタティックファイルズ英語:
Static files探究資料:
Django project.
ジャンゴプロジェクト.
質問と回答