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

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

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

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

ページネーション

Webアプリケーションにおいて、1ページに収まらないコンテンツを、各ページへのリンクを並べてアクセスしやすくする手法をページネーションと呼びます。

Python

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

Q&A

解決済

1回答

976閲覧

Djangoのページネーションが上手く表示されません。

masatarou756

総合スコア12

Django

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

ページネーション

Webアプリケーションにおいて、1ページに収まらないコンテンツを、各ページへのリンクを並べてアクセスしやすくする手法をページネーションと呼びます。

Python

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

0グッド

0クリップ

投稿2022/03/06 09:24

編集2022/03/06 15:27

こちらの

https://qlitre-weblog.com/django-kakeibo-search-pagination/

サイトのページネーションの手順通りにコードを打ち込み
django のページネーションを試みたのですが、上手くWebページ上に表示されず、空白のままになってしまっています。
どうすれば、ページネーションを上手く動作させられるのかお教えいただけますと幸いです。

ご教授いただけますと幸いです。

よろしくお願いいたします。

以下に、現在のアプリのディレクトリ構造とコードを記載しておきます。
kakeibo
├── init.py
├── pycache
├── admin.py
├── apps.py
├── forms.py
├── migrations
│ ├── 0001_initial.py
│ ├── init.py
│ └── pycache
├── models.py
├── static
├── templates
│ └── kakeibo
│ ├── base.html
│ └── payment_list.html
├── templatetags
│ ├── pycache
│ └── kakeibo.py
├── tests.py
├── urls.py
└── views.py

kakeibo/views.py

1from django.views.generic import ListView 2from django.shortcuts import render 3from .models import Payment 4from .forms import PaymentSearchForm 5 6# Create your views here. 7 8class PaymentList(ListView): 9 template_name = "kakeibo/payment_list.html" 10 model = Payment 11 ordering = "-date" 12 pagenate_by = 10 13 14 def get_queryset(self): 15 ・・・ 16 return queryset 17 18 def get_context_data(self, **kwargs): 19 context = super().get_context_data(**kwargs) 20 # search formを渡す 21 context['search_form'] = self.form 22 23 return context

kakeibo/models.py

1from django.db import models 2 3# Create your models here. 4 5 6#カテゴリ名を保存するためのモデル 7class PaymentCategory(models.Model): 8 name = models.CharField("カテゴリ名", max_length=32) 9 10 def __str__(self): 11 return self.name 12 13class Payment(models.Model): 14 date = models.DateField("日付") 15 price = models.IntegerField("金額") 16 category = models.ForeignKey(PaymentCategory, 17 on_delete=models.PROTECT, 18 verbose_name="カテゴリ") 19 description = models.TextField('摘要', null=True, blank=True)

kakeibo/templates/kakeibo/payment_list.html

1{% extends "kakeibo/base.html" %} 2{% load humanize %} 3{% load kakeibo %} 4{% block content %} 5 6<div class="mt-5"> 7 <!--一つ前--> 8 {% if page_obj.has_previous %} 9 <a class="mr-2 prev" href="?{% url_replace request 'page' page_obj.precious_page_number %}" title="前ページへ">前へ</a> 10 {% endif %} 11 12 <!--nページ目/トータルページ数--> 13 <span style="color:#0d1a3c"> 14 {{ page_obj.number }} / {{ page_obj.paginator.num_pages }} 15 </span> 16 17 <!--一つ後--> 18 {% if page_obj.has_previous %} 19 <a class="mr-2 next" href="?{% url_replace request 'page' page_obj.next_page_number %}" title="次ページへ">次へ</a> 20 {% endif %} 21</div> 22 23{% endblock %} 24

kakeibo/templatetags/kakeibo.py

1 2from django.template import Library 3 4register = Library() 5 6@register.simple_tag 7def url_replace(request, field, value): 8 url_dict = request.GET.copy() 9 url_dict[field] = str(value) 10 return url_dict.urlencode()

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

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

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

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

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

Supernove

2022/03/06 12:11

> 以下の一番下のkakeibo.pyファイル内で何がどのように行われているかが、よく分からない 自分で作っているのに何のためにあるのかよくわからないのは問題ですよ。何か参考にしたのであれば参考にしたドキュメントを呼んでみたらどうですか?(参考にしたサイトがあるなら質問に書いてください)
guest

回答1

0

自己解決

単純にタイプミスでした。
お騒がせしてすみませんでした。

投稿2022/03/10 10:01

masatarou756

総合スコア12

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問