質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

574閲覧

Django 一覧表示機能

mojizou

総合スコア1

Django

DjangoはPythonで書かれた、オープンソースウェブアプリケーションのフレームワークです。複雑なデータベースを扱うウェブサイトを開発する際に必要な労力を減らす為にデザインされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2022/10/29 10:16

前提

djanogoでブログサイトを作っています。
ブログ一覧の機能を実行したところ、adminのほうには情報があるのですが、うまく出力できません。

教えていただけると幸いです。

実現したいこと

イメージ説明

発生している問題・エラーメッセージ

イメージ説明

該当のソースコード

blog1_list1.html

1{% extends 'base1.html' %} 2{% load static %} 3{% block title %}ブログ一覧|Private Blog{% endblock %} 4{% block active_blog1_list1 %}active{% endblock %} 5{% block head %} 6<link href="{% static 'css/clean-blog.css' %}" rel = "stylesheet"> 7{% endblock %} 8 9{% block contents %} 10<div class="container px-4 px-lg-5 my-div-style"> 11 <div class="row gx-4 gx-lg-5 justify-content-center"> 12 <div class="col-md-10 col-lg-8 col-xl-7"> 13 <div class="d-flex justify-content-end mb-4"> 14 <a class="btn btn-primary float-right" href="{% url 'blog1:blog1_create' %}">新規作成</a> 15 </div> 16 {% for blog2 in blog2s %} 17 <div class="post-preview"> 18 <a href="#"> 19 <h2 class="post-title"> 20 {{ blog2.title }} 21 </h2> 22 <h3 class="post-subtitle"> 23 {{ blog2.content|truncatechars:20 }} 24 </h3> 25 </a> 26 <p class="post-meta">{{ blog2.created_at}}</p> 27 </div> 28 <hr class="my-4"> 29 {% empty %} 30 <p>ブログがありません</p> 31 {% endfor %} 32 33 <!--ページネーション処理--> 34 {% if is_paginated %} 35 <ul class="pagination"> 36 37 <!--前のページへのリンク--> 38 {% if page_obj.has_previous %} 39 <li class="page-item"> 40 <a class="page-link" href="?page={{ page_obj.previous_page_number }}"> 41 <span aria-hidden="true">&laquo;</span> 42 </a> 43 </li> 44 {% endif %}

views.py

1class Blog1List1View(LoginRequiredMixin, generic.ListView): 2 model = blog2 3 template_name = 'blog1_list1.html' 4 paginate_by = 3 5 6 def get_queryset(request): 7 blog2s = blog2.objects.all() 8 return blog2s

試したこと

https://www.youtube.com/watch?v=O037g3NOoXY&t=2113s
こちらの動画も参考にして試したりしたのですがそれでも表示できませんでした。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

HTMLに変数を渡す方法はいくつかあると思うんですけど、
model=blog2って設定した情報は以下のようにしたらテンプレート側で読み込めると思います。

python

1class Blog1List1View(ListView): 2 model = blog2 3 context_object_name = 'blog2s' #(←ここには好きな名前を設定)

あとは、いろんな変数をテンプレート側に送りたいときは↓みたいなやり方もあると思います。

python

1class Blog1List1View(ListView): 2 #省略# 3 4 def get_context_data(self): 5 context = super().get_context_data() 6 #ここまでおまじない# 7 8 context["blog2s"] = blog2.objects.all() 9 #context["HTML側で使いたい変数名"] = views.py側の変数 10 return context

俺もガバガバ知識なんで間違ってたらごめんなさい

投稿2022/10/31 03:43

neeuler

総合スコア9

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mojizou

2022/11/03 10:07

コメントありがとうございます! お陰様で解決出来ました 助かりました!!ありがとうございます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問