お世話になります。初心者ですので、初歩的なミスをしているものと思われますが、どうしても状況が改善しないので、力をお貸しください。
前提・実現したいこと
djangoベースのWebサイトにおいて、お知らせ欄を設け、mysqlへアップロードしたニュースのタイトルのみをトップページへリストのような形で表示させる。
また、この際、表示されたタイトルをクリックした場合、お知らせの詳細ページへ遷移させる。
発生している問題・エラーメッセージ
django管理サイトにて、お知らせのタイトルをmysqlのデータベースへアップロードすることは問題なくできているものの、htmlファイルに表示させることができない。
該当のソースコード
models.py
Python
1from django.db import models 2 3 4class News(models.Model): 5 """""お知らせ欄機能""""" 6 7 title = models.CharField(verbose_name="タイトル", max_length=40, null=True) 8 context = models.TextField(verbose_name="本文", blank=True, null=True) 9 photo = models.ImageField(verbose_name="画像", blank=True, null=True) 10 11 class Meta: 12 verbose_name_plural = 'お知らせ機能' 13 14 def __str__(self): 15 return self.title
views.py
Python
1from django.views import generic 2from .models import News 3 4 5class IndexView(generic.TemplateView): 6 template_name = "hogehoge/index.html" 7 8 9class RegistrationView(generic.TemplateView): 10 template_name = "hogehoge/registration.html" 11 12 13class LoginView(generic.TemplateView): 14 template_name = "hogehoge/login.html" 15 16 17class LogoutView(generic.TemplateView): 18 template_name = "hogehoge/logout.html" 19 20 21class NewsListView(generic.ListView): 22 model = News 23 queryset = News.objects.all() 24
urls.py
Python
1from django.urls import path 2 3from . import views 4 5app_name = 'hogehoge' 6urlpatterns = [ 7 path('', views.IndexView.as_view(), name="index"), 8 path('registration/', views.RegistrationView.as_view(), name="registration"), 9 path('', views.NewsListView.as_view(), name="index"), 10] 11
index.html
html
1{% load static %} 2{% block contents %} 3<div class="news-area"> 4 <h2>お知らせ</h2> 5 {% for news in news_list %} 6 {{ news.title }} 7 {% endfor %} 8</div> 9{% endblock %}
試したこと
ブラウザキャッシュの削除、migrate等を試行しました。
補足情報(FW/ツールのバージョンなど)
PyCharmにて開発をしておりました。
初学者ですので、初歩的な質問にはなってしまいますこと、大変申し訳ありません。ご回答をお待ちしております。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/18 14:35