前提・実現したいこと
Djangoで作ったアプリをPythonanywhere上にデプロイしたのですが、staticフォルダの設定がよくわからず、困っています。
具体的には、static/imagesフォルダの中の画像などが表示されません。
(CSSもブラウザによっては効いていません。)
Pythonanywhereでのファイル構成は、collectstaticコマンドをした後、
home/myusername/my-venv/myproject/staticの中に、
admin/
myapp/
home/
が出来て、それぞれの中に
css/
images/
js/
が作られ、imagesフォルダに使いたい画像が集められています。
一方、Pythonanywhereの"Web"ページのStatic files:"の部分では、次のような設定にしています。
URL: /static/
Directory: home/myusername/my-venv/myproject/static
基本をきちんと理解出来ていないまま、色々といじり回していたら、頭が混乱してきたので、ここで質問させてもらうことにしました。
よろしくお願いします。
発生している問題・エラーメッセージ
画像が表示されない部分をコンソールで調べてみると、以下のようなメッセージが出ます。
http://myusername.pythonanywhere.com/static/myapp/images/aaa.png Failed to load resource: the server responded with a status of 404 (Not Found)
"/static"と"/myapp"との順番を入れ替えて、"/myapp"が"/myproject"に変われば、望んだ結果になると思うのですが、これを制御している箇所がよくわかりません。
Pythonanywhereの"Web"ページのStatic files:"の部分が関わっているように思えるのですが、この理解は正しいでしょうか?
正しいとすると、当該部分をどう変えるべきなのか?
そもそも、ここにある"URL"と"Directory"の関係がよくわからないので、行き詰まっています。
該当のソースコード
上記の理解(問題はPythonanywhere上での設定)が間違いだとすると、settings.pyでのコード(以下)が関わってくるように思えます。
python
1STATIC_URL = '/static/'
試したこと
Pythonanywhereのヘルプを参考にして
python
1STATIC_ROOT = "/home/myusername/myproject/static"
としてみても、次のようなエラーメッセージが出ます。
ImproperlyConfigured at /myapp/index/ You're using the staticfiles app without having set the required STATIC_URL setting.
補足情報(FW/ツールのバージョンなど)
[環境]
Mac Os Catalina
Django 3.1.1
Python 3.8
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。