0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

pythonanywhereでdjangoのwebアプリを更新したとき、cssが反映されない件を解決

Last updated at Posted at 2023-06-12

結論

cssファイルをdjangoプロジェクトのstaticディレクトリに配置してテンプレートhtmlから読み込んでいた場合、static内のファイルを読み込める場所に配置しなおす必要があります。以下の手順で解決しました。

  1. config/settings.pyに以下の記述があることを確認します。1
    settings.py
    STATIC_ROOT = os.path.join(BASE_DIR, 'static')
    
  2. djangoプロジェクトの仮想環境内のbashで以下のコマンドを実行します。
    python manage.py collectstatic
    
  3. pythonanywhereのwebのメニューにある「Reload」をクリックします。

実際に起きた不具合

pythonanywhereでdjangoを使用したwebアプリを作成をしました。gitを通じてローカルからcssファイルgithubにプッシュ。pythonanywhere側でcssをプルしてweb画面を確認しました。ところが、cssが反映されていないという不具合が発生しました。

調査

以下の記事を参考にしました。

staticファイルはgitからpullしてきたディレクトリを参照しているわけではなく、configで設定したディレクトリを参照しているようです。その設定したディレクトリにstaticのファイル群を配置するためpython manage.py collectstaticが必要なのだと理解しました。

終わりに

staticファイルに入れているファイルが該当するため、jsファイルで同様の現象が起こった場合も参考になるのではないかと思います。

以上です。

参考

  1. ローカル環境に記述が無かったとしてもanywhere側が自動で記述していることもあります。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?