みずラテ

牛乳と水を2対1で。

【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>

これで大丈夫なはずです。