前提・実現したいこと
初めての質問ですので拙い文章でしたらすみません。
djangogirlsチュートリアルでのwebブログ作成においての質問です。
仮想環境ではチュートリアル通りにwebブログを表示することが出来たのですが、
デプロイ後の画面ではブログタイトルしか表示されず、本文が表示されません。
どうやら
blog/templates/blog/post_list.htmlにて
{% for post in posts %}で囲われた部分がうまくいっていないようです。
djangogirlsに乗っているコードをそのままコピーペーストしているだけなのですが、どこかでうまくいかなくなってしまったみたいです。
該当のソースコード
post_list.html
post_list.html
1<div> 2 <h1><a href="/">Django Girls Blog</a></h1> 3</div> 4 5{% for post in posts %} 6 <div> 7 <p>published: {{ post.published_date }}</p> 8 <h2><a href="">{{ post.title }}</a></h2> 9 <p>{{ post.text|linebreaksbr }}</p> 10 </div> 11{% endfor %}
views.py
views.py
1from django.shortcuts import render, get_object_or_404 2from django.shortcuts import render 3from django.utils import timezone 4from .models import Post 5from django.views.generic import ListView 6 7class PostListView(ListView): 8 model = Post 9 10 def get_queryset(self): 11 return Post.objects.filter(published_date__lte=timezone.now()).order_by('-published_date') 12 13def post_list(request): 14 posts = Post.objects.filter(published_date__lte=timezone.now()).order_by('published_date') 15 return render(request, 'blog/post_list.html', {'posts': posts}) 16 17def post_detail(request, pk): 18 post = get_object_or_404(Post, pk=pk) 19 return render(request, 'blog/post_detail.html', {'post': post}) 20
setting.py
setting.py
1""" 2Django settings for mysite project. 3 4Generated by 'django-admin startproject' using Django 2.2.24. 5 6For more information on this file, see 7https://docs.djangoproject.com/en/2.2/topics/settings/ 8 9For the full list of settings and their values, see 10https://docs.djangoproject.com/en/2.2/ref/settings/ 11""" 12 13import os 14 15# Build paths inside the project like this: os.path.join(BASE_DIR, ...) 16BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 17 18 19# Quick-start development settings - unsuitable for production 20# See https://docs.djangoproject.com/en/2.2/howto/deployment/checklist/ 21 22# SECURITY WARNING: keep the secret key used in production secret! 23SECRET_KEY = '8jkypoy2d4*t!d3c_xg4(&vh!@s-)qjn4)rgj7sc5*940bdqt2' 24 25# SECURITY WARNING: don't run with debug turned on in production! 26DEBUG = True 27 28ALLOWED_HOSTS = ['127.0.0.1', '.pythonanywhere.com'] 29 30 31# Application definition 32 33INSTALLED_APPS = [ 34 'django.contrib.admin', 35 'django.contrib.auth', 36 'django.contrib.contenttypes', 37 'django.contrib.sessions', 38 'django.contrib.messages', 39 'django.contrib.staticfiles', 40 'blog.apps.BlogConfig', 41] 42 43MIDDLEWARE = [ 44 'django.middleware.security.SecurityMiddleware', 45 'django.contrib.sessions.middleware.SessionMiddleware', 46 'django.middleware.common.CommonMiddleware', 47 'django.middleware.csrf.CsrfViewMiddleware', 48 'django.contrib.auth.middleware.AuthenticationMiddleware', 49 'django.contrib.messages.middleware.MessageMiddleware', 50 'django.middleware.clickjacking.XFrameOptionsMiddleware', 51] 52 53ROOT_URLCONF = 'mysite.urls' 54 55TEMPLATES = [ 56 { 57 'BACKEND': 'django.template.backends.django.DjangoTemplates', 58 'DIRS': [], 59 'APP_DIRS': True, 60 'OPTIONS': { 61 'context_processors': [ 62 'django.template.context_processors.debug', 63 'django.template.context_processors.request', 64 'django.contrib.auth.context_processors.auth', 65 'django.contrib.messages.context_processors.messages', 66 ], 67 }, 68 }, 69] 70 71WSGI_APPLICATION = 'mysite.wsgi.application' 72 73 74# Database 75# https://docs.djangoproject.com/en/2.2/ref/settings/#databases 76 77DATABASES = { 78 'default': { 79 'ENGINE': 'django.db.backends.sqlite3', 80 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), 81 } 82} 83 84 85# Password validation 86# https://docs.djangoproject.com/en/2.2/ref/settings/#auth-password-validators 87 88AUTH_PASSWORD_VALIDATORS = [ 89 { 90 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', 91 }, 92 { 93 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', 94 }, 95 { 96 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', 97 }, 98 { 99 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', 100 }, 101] 102 103 104# Internationalization 105# https://docs.djangoproject.com/en/2.2/topics/i18n/ 106 107LANGUAGE_CODE = 'ja' 108 109TIME_ZONE = 'Asia/Tokyo' 110 111USE_I18N = True 112 113USE_L10N = True 114 115USE_TZ = True 116 117 118# Static files (CSS, JavaScript, Images) 119# https://docs.djangoproject.com/en/2.2/howto/static-files/ 120 121STATIC_URL = '/static/' 122STATIC_ROOT = os.path.join(BASE_DIR, 'static') 123
試したこと
静的ファイルがうまく作動していない?と思ったので
setting.pyを確認して、
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
が記述してあることを確認しました。
また、pythonanywhereのでstaticfileも設定したのですがうまくいきませんでした。
そのほかネットで調べられる範囲のことはいろいろやったのですが、だめでした。
デプロイ時などにエラーがでることもないので、どこがうまくいっていないのか全くわかりません。
どうかよろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/06 01:41
2021/11/06 01:46
2021/11/06 05:25
2021/11/06 15:29
2021/11/06 15:35
2021/11/06 18:06
2021/11/06 18:11
2021/11/06 18:22
2021/11/07 10:35
2021/11/07 12:30
2021/11/07 14:32
2021/11/07 15:21