前提・実現したいこと
djangoを使用し、ダウンロードしたテンプレートを使用したい。
ここに質問の内容を詳しく書いてください。
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
CSSのbackgroundから画像を読み込まれない。
該当のソースコード
css
1#headerwrap { 2 background: url('/static/img/header_bg.jpg') no-repeat center top; #この部分 3 margin-top: -50px; 4 padding-top: 120px; 5 text-align: center; 6 background-attachment: relative; 7 background-position: center center; 8 min-height: 650px; 9 width: 100%; 10 -webkit-background-size: 100%; 11 -moz-background-size: 100%; 12 -o-background-size: 100%; 13 background-size: 100%; 14 -webkit-background-size: cover; 15 -moz-background-size: cover; 16 -o-background-size: cover; 17 background-size: cover; 18} 19
試したこと
BASE_DIRの確認,及びbootstrap4の追加
settings.py
1INSTALLED_APPS = [ 2 'django.contrib.admin', 3 'django.contrib.auth', 4 'django.contrib.contenttypes', 5 'django.contrib.sessions', 6 'django.contrib.messages', 7 'django.contrib.staticfiles', 8 'Passion_app.apps.PassionAppConfig', 9 'bootstrap4',#追加 10 'accounts.apps.AccountsConfig', 11 12 'django.contrib.sites', 13 'allauth', 14 'allauth.account' 15] 16<省略> 17 18. 19. 20 21STATIC_URL = '/static/' 22 23STATICFILES_DIRS = ( 24 os.path.join(BASE_DIR, 'static'), 25)
おそらく問題ない。
htmlからstaticの読み込み。
html
1{% load static %}
これも問題ない。
補足情報(FW/ツールのバージョンなど)
ちなみにhtmlからのstaticFileの読み込みはできています。
バージョン:Django3
すみませんが、知見を貸してください。m(_ _)m
開発用サーバーで起動している感じですか?
また、ブラウザーの開発ツールのネットワークタブとかで、/static/img/header_bg.jpg の取得の結果とか出ていますか?
ありがとうございます!
開発サーバーでおこなっています。
ログはこちらです。
[26/Aug/2020 22:15:09] "GET / HTTP/1.1" 200 24176
[26/Aug/2020 22:15:09] "GET /static/lib/icomoon/icomoon.css HTTP/1.1" 200 22148
[26/Aug/2020 22:15:09] "GET /static/lib/bootstrap/css/bootstrap.min.css HTTP/1.1" 200 121200
[26/Aug/2020 22:15:09] "GET /static/lib/jquery/jquery.min.js HTTP/1.1" 200 97163
[26/Aug/2020 22:15:09] "GET /static/lib/easing/easing.min.js HTTP/1.1" 200 2303
[26/Aug/2020 22:15:09] "GET /static/lib/php-mail-form/validate.js HTTP/1.1" 200 3501
[26/Aug/2020 22:15:09] "GET /static/lib/bootstrap/js/bootstrap.min.js HTTP/1.1" 200 37045
[26/Aug/2020 22:15:09] "GET /static/img/team/team01.jpg HTTP/1.1" 200 36450
[26/Aug/2020 22:15:09] "GET /static/img/team/team02.jpg HTTP/1.1" 200 29239
[26/Aug/2020 22:15:09] "GET /static/img/iphone.png HTTP/1.1" 200 303220
[26/Aug/2020 22:15:09] "GET /static/img/team/team04.jpg HTTP/1.1" 200 27307
[26/Aug/2020 22:15:09] "GET /static/img/team/team03.jpg HTTP/1.1" 200 43755
[26/Aug/2020 22:15:09] "GET /static/img/portfolio/folio01.jpg HTTP/1.1" 200 68981
[26/Aug/2020 22:15:09] "GET /static/img/portfolio/folio02.jpg HTTP/1.1" 200 58455
[26/Aug/2020 22:15:09] "GET /static/img/portfolio/folio03.jpg HTTP/1.1" 200 66043
[26/Aug/2020 22:15:09] "GET /static/img/macbook.png HTTP/1.1" 200 255584
[26/Aug/2020 22:15:09] "GET /static/img/portfolio/folio06.jpg HTTP/1.1" 200 30554
[26/Aug/2020 22:15:09] "GET /static/img/portfolio/folio04.jpg HTTP/1.1" 200 100674
[26/Aug/2020 22:15:09] "GET /static/img/portfolio/folio05.jpg HTTP/1.1" 200 94409
[26/Aug/2020 22:15:09] "GET /static/lib/icomoon/fonts/icomoon.woff HTTP/1.1" 200 76384
[26/Aug/2020 22:15:10] "GET /static/img/favicon.png HTTP/1.1" 200 491
/static/img/header_bg.jpg のログが出ていないですね。
ブラウザーの開発者ツールのインスペクター(Firefox の場合。Chrome だと Elements タブ)で要素を選択した際に適用されている CSS に取り消し線とか、ついてたりしますか?
場合によっては、キャッシュが悪さをしている場合も。(古いスタイルシートがキャッシュに残っているとか)
キャッシュを削除したら表示されました!ありがとうございます。
すみません、お手すきであればどのような原理なのでしょうか?
うまく説明できるか分かりませんが。
画像やスタイルシートなど静的なコンテンツの場合、毎回サーバーに取得に行くのは、無駄なので通常、ブラウザーがローカルディスクなどにキャッシュして、そちらを利用するようになっています。
この辺、キャッシュを使わないように制御をサーバー側で行う方法があったりします。未検証ですが、
Djangoで全ページキャッシュ禁止にする方法
https://masshiro.blog/django-nocache/
などを参考にしてみてください。
「django ブラウザキャッシュ 無効」で検索しました。
よく分かりました!ありがとうございました。
良ければ回答欄に回答を入れてください。ベストアンサーにしたいので。
回答1件
あなたの回答
tips
プレビュー