質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

10265閲覧

本番環境で、adminに関するcssが適用されない

退会済みユーザー

退会済みユーザー

総合スコア0

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/11/26 04:53

編集2021/08/02 20:26

前提・実現したいこと

Djangoで、Webアプリを作成しています。
開発環境ではcss等の静的ファイルもうまく機能していたので、本番環境にデプロイした所、admin.pyのCSSが効かなくなってしまいました。
HTTPサーバー:Nginx
アプリケーションサーバー:Gunicorn

発生している問題・エラーメッセージ

本番環境で、python manage.py collectstaticを実行した所、下記のようにエラーが生じました。

You have requested to collect static files at the destination location as specified in your settings: /home/myname/myproject/project_name/static This will overwrite existing files! Are you sure you want to do this? Type 'yes' to continue, or 'no' to cancel: yes Found another file with the destination path 'admin/css/forms.css'. It will be ignored since only the first encountered file is collected. If this is not what you want, make sure every static file has a unique path. Found another file with the destination path 'admin/css/login.css'. It will be ignored since only the first encountered file is collected. If this is not what you want, make sure every static file has a unique path. ...以下、adminに関する各cssがうまく集積されていないことを示すエラーが表示

該当のソースコード

nginxの設定ファイル
/etc/nginx/sites-available/default

location /static/{ alias /home/username/myproject/archifields/static/; access_log /dev/null; } sudo nginx -s reload

setting.py

python

1STATIC_URL = '/static/' 2STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')] 3STATIC_ROOT = '/var/www/mysite/static'

試したこと

settings.pyにSTATICFILES_DIRSを追加してみました。

STATICFILES_DIRS = ( os.path.join(BASE_DIR, 'static'), )

すると、admin.py以外のcssに関しても上記と同じエラーが出てきてしまったので、今は削除しています。

補足情報

エラーログを取ってみた所、このようなエラーが見つかりました。

$ tail -F /var/log/nginx/error.log 2019/12/09 17:59:10 [error] 30071#30071: *10003 open() "/home/myname/myproject/mysite/static/jet/css/themes/default/base.css" failed (2: No such file or directory), client: 118.4.219.217, server: www.mysite.com, request: "GET /static/jet/css/themes/default/base.css?v=1.0.10 HTTP/1.1", host: "www.mysite.com", referrer: "https://www.mysite.com/admin/"

これを見る限り、collectstaticがうまくいっていないのかなと思います。

collectstaticをすると、下記のエラーが生じます。

$ python manage.py collectstatic Found another file with the destination path 'admin/css/forms.css'. It will be ignored since only the first encountered file is collected. If this is not what you want, make sure every static file has a unique path. ..............................

https://tell-k.github.io/djangocongressjp2019/
など、参考にしたのですが、どこを変えたら良いか分からないです。

お分かりの方、ご教示頂ければ幸いです。
よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

admin関係のstatic file、もしくはディレクトリ名が重複しているせいでcollectstaticで一箇所に集積しようとしたときに名前がぶつかってしまい、collectstaticが失敗しているようです。
各applicationのstatic/以下を確認して重複しているものを削除、ないしはapplication名の変更をしてみて改善しないでしょうか?

投稿2019/12/15 10:24

T.Tom

総合スコア58

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/02/13 09:43

ご回答頂きありがとうございました。お礼が遅くなり申し訳ございません。 最終的に、urls.pyに下記の記載をすることでうまくいきました。 urlpatterns = [ path('admin/', admin.site.urls), ] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問