LoginSignup
2
2

More than 5 years have passed since last update.

Nginxでdjango/adminの管理者ページのスタイルシートを読み込ませる方法

Posted at

現状

初期設定のままnginxでプロダクトを立ち上げ、/adminで管理者画面に行くと
image.png
このようにローカルの時とは違うスタイルで出力されてしまう。
ページの検証でコードを確認すると、stylesheetのリンクは示されていることがわかる。しかし、このurlをクリックするとnginx 404 not found エラーが出る。
つまりsytlesheetのリンクが未設定ということである。(/var/log/****/error.logからも確認できる。)

解決策

nginxでファイルのpass指定をするのは/etc/nginx/sites-availableというfileである。
初期設定ではこのようになっているであろう。

cat /etc/nginx/sites-availabe
server{

    listen 80;

    server_name 54.249.69.17;

    location = /favicon.ico {access_log off; log_not_found off;}

    location /static/ {

        root /home/ubuntu/myblogapp2/myblogapp;

        }

    location / {

        include proxy_params;

        proxy_pass http://unix:/home/ubuntu/myblogapp2/myblogapp/myblogapp.sock;

        }

    }

ここに以下のようにadminのstylesheetのpassを指定すれば良い

/etc/nginx/sites-available
server{

    listen 80;

    server_name 54.249.69.17;

    location = /favicon.ico {access_log off; log_not_found off;}

    location /static/ {

        root /home/ubuntu/myblogapp2/myblogapp;

        }

    location /static/admin {

        root /home/ubuntu/py36/lib/python3.6/site-packages/django/contrib/admin/static/admin;

        }

    location  / {

        include proxy_params;

        proxy_pass http://unix:/home/ubuntu/myblogapp2/myblogapp/myblogapp.sock;

        }

    }

これで無事/adminに行けばローカルと同じスタイルの管理者画面が開かれる。

Good Luck!

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2