DjangoのListViewで画像を一覧表示させたい
Djangoを使ってブログを作成しています。その際、作成した記事を一覧で表示させたいと考えています。
その際、図が表示されるようにしたいのですが 上手くいかず困っています。
書いたスクリプト
Django 2.2.2
Pillow 7.2.0
PurpleDiary # │ ├─ PurpleDiary # ├─ │ │ │ ├─ __init__.py # │ ├─ settings.py # │ ├─ urls.py # │ ├─ views.py # │ └─ wsgi.py # │ ├─ PurplePrivateDiary # ├─ │ │ │ ├─ migrations # │ │ ├─ __pycache__ # │ │ │ ├─ 0001_initial.cpython-36.pyc # │ │ │ ├─ 0002_blogmodel2.cpython-36.pyc # │ │ │ ├─ 0003_auto_20200820_0032.cpython-36.pyc # │ │ │ ├─ 0004_auto_20200820_2247.cpython-36.pyc # │ │ │ └─ __init__.cpython-36.pyc # │ │ │ │ │ ├─ 0001_initial.py # │ │ ├─ 0002_blogmodel2.py # │ │ ├─ 0003_auto_20200820_0032.py # │ │ ├─ 0004_auto_20200820_2247.py # │ │ └─ __init__.py # │ │ │ ├─ templates # │ │ ├─ BlogDetail.html # │ │ ├─ BlogList.html # │ │ ├─ Entrance.html # │ │ ├─ about.html # │ │ ├─ contact.html # │ │ ├─ diaryBase.html # │ │ ├─ diarySample.html # │ │ ├─ index.html # │ │ └─ menu.html # │ │ │ ├─ __init__.py # │ ├─ admin.py # │ ├─ apps.py # │ ├─ models.py # │ ├─ settingApp.py # │ ├─ tests.py # │ ├─ urls.py # │ └─ views.py # │ ├─ media # │ ├─ 367-3678882_python-logo-clipart-easy-pandas-python-logo-png.png.jpeg # │ └─ git_logo.png # │ ├─ static # │ ├─ css # │ │ ├─ Entrance.css # │ │ ├─ diary2.css # │ │ └─ diaryMdiaQuery.css # │ │ │ └─ img # │ ├─ Kingyo.jpg # │ ├─ KyotoYasaka2.jpg # │ ├─ japanGarden.jpg # │ ├─ purple.jpeg # │ ├─ wave.jpg # │ └─ wave2.jpg # │ └─ manage.py #
settings.py
python
1MEDIA_ROOT = os.path.join(BASE_DIR, "media") 2MEDIA_URL = "/media/"
urls.py
python
1from django.urls import path, include 2from django.contrib.staticfiles.urls import static 3 4from . import settings 5 6urlpatterns = [ 7 path("", include("PurplePrivateDiary.urls")), 8] 9 10#開発サーバーでメディアを配信できるように設定 11urlpatterns += static( 12 settings.MEDIA_URL, 13 docuent_root=settings.MEDIA_ROOT 14)
app/views.py
python
1from django.views.generic import TemplateView, ListView, DetailView 2from .models import BlogModel3 3 4 5class BlogList(ListView): 6 template_name = "BlogList.html" 7 model = BlogModel3 8 9class BlogDetail(DetailView): 10 template_name = "BlogDetail.html" 11 model = BlogModel3
app/model.py
python
1from django.db import models 2 3# Create your models here. 4CATEGORY = ( 5 ("python", "python"), 6 ("Django", "Django") 7) 8 9class BlogModel3(models.Model): 10 title = models.CharField(max_length=100) 11 contentDescription = models.TextField(max_length=150) 12 content = models.TextField() 13 postdate = models.DateField(auto_now_add=True) 14 updateDate = models.DateField(auto_now=True) 15 category = models.CharField( 16 max_length=50, 17 choices=CATEGORY 18 ) 19 eyeCatch = models.ImageField( 20 verbose_name="アイキャッチ画像", 21 blank=True, 22 null=True 23 ) 24 25 def __str__(self): 26 return self.title
app/templates/diaryBase.html
python
1{% load static %} 2 3<html lang="ja"> 4 5 <head> 6 <meta charset="utf-8"> 7 8 </head> 9 10 <body> 11 {% block contentsSection %}{% endblock %} 12 </body> 13 14</html>
app/templates/BlogList.html
python
1{% extends "diaryBase.html" %} 2 3{% block contentsSection %} 4 {% for item in object_list %} 5 <div class="cardPC"> 6 <div class="boxPC"> 7 <img src="{{ item.eyeCatch }}" class="imagePC"> 8 <div> 9 <p class="titlePC"> 10 <a href = "{% url 'detail' item.pk %}"> 11 {{ item.title }} 12 </a> 13 </p> 14 <span class="categoryPC">{{ item.category }}</span> 15 <p class="contentDescriptionPC">{{ item.contentDescription }}</p> 16 <span class="updateDatePC">更新日 {{ item.updateDate }}</span> 17 </div> 18 </div> 19 </div> 20 {% endfor %} 21{% endblock %}
助けてください!!
お忙しい中恐縮ですが、どうかご教示頂けますと幸いです。
回答1件
あなたの回答
tips
プレビュー