【Django】Apatchを使ったらadmin画面のcssが読み込まれないを解決
Djangoの勉強用にレンタルサーバーを借りてデプロイしてみたものの、cssが読まれなかった時にやったこと。
環境
CentOS Linux release 7.4.1708
Python 3.6.4
Django 2.0.2
Apache 2.4.6
やったこと
静的ファイル(cssとかjsとか画像)の格納フォルダをsettings.pyに記述する。
末尾に以下を追記。
STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR, "static")
adminで使用されているcssを取得する
コマンドラインにて
python manage.py collectstatic
これにより、adminで使用されているcssが/static/admin/cssにまとめられます。
こんな感じ。
├── autocomplete.css ├── base.css ├── changelists.css ├── dashboard.css ├── fonts.css ├── forms.css ├── login.css ├── responsive.css ├── responsive_rtl.css ├── rtl.css ├── vendor │ └── select2 │ ├── LICENSE-SELECT2.md │ ├── select2.css │ └── select2.min.css └── widgets.css
admin画面では、ソースをみてみると、base.cssだったり、login.cssが使用されている模様。
追記2018/03/10 httpd.confにaliasを設定する
aliasの設定が必要みたい
末尾に以下を追記しました。
staticのフォルダがある場所を適宜指定してください。
/etc/httpd/conf/httpd.conf
###Alias### Alias /static/ /var/www/environments/mysite/static/ <Directory /var/www/environments/mysite/static> Require all granted </Directory>
これで大丈夫なはずです。