DjangoでWebアプリを開発しているのですが、staticディレクトリにあるCSSファイルが適用されません。urlから直接ファイルにアクセスするとちゃんとCSSのコードが表示されます。また、同様にstaticにある画像はちゃんと読み込まれます。原因がわかる方、いらっしゃいますでしょうか。
ディレクトリ階層
.
├── SFL
│ ├── init.py
│ ├── pycache(以下略)
│ ├── asgi.py
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── accounts
│ ├── init.py
│ ├── pycache(以下略)
│ ├── admin.py
│ ├── apps.py
│ ├── migrations(以下略)
│ ├── models.py
│ ├── tests.py
│ ├── urls.py
│ └── views.py
├── manage.py
├── media
│ └── dora.png
├── post
│ ├── init.py
│ ├── pycache(以下略)
│ ├── admin.py
│ ├── apps.py
│ ├── forms.py
│ ├── migrations(以下略)
│ ├── models.py
│ ├── tests.py
│ ├── urls.py
│ └── views.py
├── static
│ ├── accounts
│ │ └── top_page.css**(問題のCSS)**
│ └── images
│ ├── dictionary.jpg
│ ├── read.jpg
│ ├── service-header.jpg
│ ├── talk.jpg
│ ├── user_icon.png
│ └── write.jpg
└── templates
| ├── accounts
| │ ├── top_page.html**(問題のhtml)**
| │ └── user_profile.html
| ├── base.html
| └── post
| ├── post_compose.html
| └── post_list.html
関係ありそうなコード
static/settings.py
SFL/settings.py
1""" 2Django settings for SFL project. 3 4Generated by 'django-admin startproject' using Django 3.2.5. 5 6For more information on this file, see 7https://docs.djangoproject.com/en/3.2/topics/settings/ 8 9For the full list of settings and their values, see 10https://docs.djangoproject.com/en/3.2/ref/settings/ 11""" 12 13from pathlib import Path 14import os 15 16# Build paths inside the project like this: BASE_DIR / 'subdir'. 17BASE_DIR = Path(__file__).resolve().parent.parent 18 19 20# Quick-start development settings - unsuitable for production 21# See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/ 22 23# SECURITY WARNING: keep the secret key used in production secret! 24SECRET_KEY = 'django-insecure-&t%!m8o8!*j6!v=9lbi)z)g72bjvw1-au+&6vn-#1&@k^u!@h)' 25 26# SECURITY WARNING: don't run with debug turned on in production! 27DEBUG = True 28 29ALLOWED_HOSTS = [] 30 31 32# Application definition 33 34INSTALLED_APPS = [ 35 'django.contrib.admin', 36 'django.contrib.auth', 37 'django.contrib.contenttypes', 38 'django.contrib.sessions', 39 'django.contrib.messages', 40 'django.contrib.staticfiles', 41 42 'post.apps.PostConfig', 43 'accounts.apps.AccountsConfig', 44] 45 46MIDDLEWARE = [ 47 'django.middleware.security.SecurityMiddleware', 48 'django.contrib.sessions.middleware.SessionMiddleware', 49 'django.middleware.common.CommonMiddleware', 50 'django.middleware.csrf.CsrfViewMiddleware', 51 'django.contrib.auth.middleware.AuthenticationMiddleware', 52 'django.contrib.messages.middleware.MessageMiddleware', 53 'django.middleware.clickjacking.XFrameOptionsMiddleware', 54] 55 56ROOT_URLCONF = 'SFL.urls' 57 58TEMPLATES = [ 59 { 60 'BACKEND': 'django.template.backends.django.DjangoTemplates', 61 'DIRS': [os.path.join(BASE_DIR, 'templates')], 62 'APP_DIRS': True, 63 'OPTIONS': { 64 'context_processors': [ 65 'django.template.context_processors.debug', 66 'django.template.context_processors.request', 67 'django.contrib.auth.context_processors.auth', 68 'django.contrib.messages.context_processors.messages', 69 ], 70 }, 71 }, 72] 73 74WSGI_APPLICATION = 'SFL.wsgi.application' 75 76 77# Database 78# https://docs.djangoproject.com/en/3.2/ref/settings/#databases 79 80DATABASES = { 81 'default': { 82 'ENGINE': 'django.db.backends.postgresql_psycopg2', 83 'NAME': 'django_boards', 84 'USER': 'lukas', 85 'PASSWORD': 'newpassword', 86 'HOST': 'localhost', 87 'PORT': 5432, 88 } 89} 90 91 92# Password validation 93# https://docs.djangoproject.com/en/3.2/ref/settings/#auth-password-validators 94 95AUTH_PASSWORD_VALIDATORS = [ 96 { 97 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', 98 }, 99 { 100 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', 101 }, 102 { 103 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', 104 }, 105 { 106 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', 107 }, 108] 109 110 111# Internationalization 112# https://docs.djangoproject.com/en/3.2/topics/i18n/ 113 114LANGUAGE_CODE = 'ja' 115 116TIME_ZONE = 'Asia/Tokyo' 117 118USE_I18N = True 119 120USE_L10N = True 121 122USE_TZ = True 123 124 125# Static files (CSS, JavaScript, Images) 126# https://docs.djangoproject.com/en/3.2/howto/static-files/ 127 128STATIC_URL = '/static/' 129STATICFILES_DIRS = [ 130 os.path.join(BASE_DIR, 'static') 131] 132 133# Default primary key field type 134# https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field 135 136DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' 137 138AUTH_USER_MODEL = 'accounts.User' 139 140MEDIA_URL = '/media/' 141MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
問題のtemplete html
{% extends 'base.html' %} {% load static %} {% block link %} <link rel="stylesheet" href="https://unpkg.com/ress/dist/ress.min.css"> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Caveat:wght@700&display=swap"> <link rel="stylesheet" href="{% static 'accounts/top_page.css' %}"> {% endblock link %} {% block content %} <header> <div class="page-header wrapper"> <h1 class="header-logo">SFL</h1> <nav> <ul class="header-nav"> <li><a href="">ログイン</a></li> <li><a href="">新規登録</a></li> </ul> </nav> </div> </header> <div class="top-content"> <div class="service-header-img"> <div class="service-header wrapper"> <h2>Study with Foreign Languages!</h2> <div>SFLは異国語を使って色々な教科の勉強ができるサービスです。</div> </div> </div> <div class="service-detail wrapper"> <div class="service"> <img src="{% static 'images/write.jpg' %}"> <h3>Write</h3> <p>学ぶ内容を投稿することで世界中の人に見てもらう</p> </div> <div class="service"> <img src="{% static 'images/read.jpg' %}"> <h3>Read</h3> <p>世界中の人の投稿から学ぶ</p> </div> <div class="service"> <img src="{% static 'images/talk.jpg' %}"> <h3>Talk</h3> <p>世界中の人と議論を交わす</p> </div> <div class="service"> <img src="{% static 'images/talk.jpg' %}"> <h3>Search</h3> <p>専門用語に特化した辞書機能を開発中</p> </div> </div> </div> <footer> <div class="wrapper"> <p><small>© 2021 Lukas</small></p> </div> </footer> {% endblock content %}
###問題のCSS
@charset "UTF-8"; html { font-size: 100%; } body { font-family: "Yu Gothic Medium", "游ゴシック Medium", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "sans-serif"; line-height: 1.7; color: #001279; } a { text-decoration: none; } .wrapper { max-width: 1200px; margin: 0 auto; padding: 0 4%; } header { background-color: #00fff2; } .page-header { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } .header-logo { font-size: 50px; } .header-nav { display: -webkit-box; display: -ms-flexbox; display: flex; font-size: 1.25rem; margin: 35px 0; list-style: none; } .header-nav li { margin-left: 36px; } .header-nav a:hover { color: #50c5fc; } .service-header { color: #fff; text-align: center; height: 600px; } .service-header h2 { font-size: 100px; padding-top: 100px; font-family: 'Caveat', cursive; text-shadow: 2px 2px 10px #229cff, -2px 2px 10px #229cff, 2px -2px 10px #229cff, -2px -2px 10px #229cff; } .service-header div { padding-top: 100px; font-size: 1.5rem; color: #001279; } .service-header-img { background-image: -webkit-gradient(linear, left top, left bottom, from(#00fff2), to(white)); background-image: linear-gradient(#00fff2, white); } .service-detail { display: -ms-grid; display: grid; gap: 50px; -ms-grid-columns: 1fr 1fr; grid-template-columns: 1fr 1fr; margin-top: 6%; margin-bottom: 50px; } .service { text-align: center; border-radius: 10px; background-color: #d5fffd; } .service img { margin-top: 30px; width: 400px; } footer { color: #fff; height: 100px; background-color: #000; text-align: center; } footer p { font-size: 1.125rem; padding: 30px 0; } /*# sourceMappingURL=style.css.map */
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。