Django paginate_byの設定方法を教えていただきたいです。
こちらのサイトを参考にしています。
現在、タグリストのページを作成しており、そこのページでpaginate_by
を活用し、複数のページを作りたいです。
エラーは出ていないのですが、ページの数字が出ておらず、矢印だけが出ている状態です。
python
1#views.py 2 3class TagsView(View): 4 """リスト一覧""" 5 paginate_by = 15 6 7 def get(self, request, *args, **kwargs): 8 context = {} 9 context['all_tag_list'] = Tag.objects.all().annotate(tag_count=Count('taggit_taggeditem_items')).order_by('-tag_count') 10 return render(request, 'app/tag_list.html', context) 11
タグリストのページ
html
1{% extends "app/base.html" %} 2{% block content %} 3{% load static %} 4<link href="{% static 'app/css/tag_list.css' %}" rel="stylesheet" type="text/css"> 5<h2> 6 <svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-tags-fill" fill="currentColor" xmlns="http://www.w3.org/2000/svg"> 7 <path fill-rule="evenodd" d="M3 1a1 1 0 0 0-1 1v4.586a1 1 0 0 0 .293.707l7 7a1 1 0 0 0 1.414 0l4.586-4.586a1 1 0 0 0 0-1.414l-7-7A1 1 0 0 0 7.586 1H3zm4 3.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z"/> 8 <path d="M1 7.086a1 1 0 0 0 .293.707L8.75 15.25l-.043.043a1 1 0 0 1-1.414 0l-7-7A1 1 0 0 1 0 7.586V3a1 1 0 0 1 1-1v5.086z"/> 9 </svg> 10 タグ一覧 11</h2> 12<hr> 13<div class="tags"> 14 <div class="card-columns"> 15 <ul> 16 {% for tags in all_tag_list %} 17 <div class="card"> 18 <li> 19 <a href="{% url 'app:tags_post'%}?tag={{ tags }}"> 20 <svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-tags-fill" fill="currentColor" xmlns="http://www.w3.org/2000/svg"> 21 <path fill-rule="evenodd" d="M3 1a1 1 0 0 0-1 1v4.586a1 1 0 0 0 .293.707l7 7a1 1 0 0 0 1.414 0l4.586-4.586a1 1 0 0 0 0-1.414l-7-7A1 1 0 0 0 7.586 1H3zm4 3.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z"/> 22 <path d="M1 7.086a1 1 0 0 0 .293.707L8.75 15.25l-.043.043a1 1 0 0 1-1.414 0l-7-7A1 1 0 0 1 0 7.586V3a1 1 0 0 1 1-1v5.086z"/> 23 </svg>{{ tags }} 24 ({{ tags.tag_count }}) 25 </a> 26 </li> 27 </div> 28 {% endfor %} 29 </ul> 30 </div> 31<div class="page col-9"> 32{% include "app/_pagination.html" %} 33</div> 34</div> 35{% endblock %} 36
_pagination.html
html
1 2{% load item_extras %} 3<ul class="pagination"> 4 {% if page_obj.has_previous %} 5 <li class="page-item pagination-prev"> 6 <a class="page-link" href="?{% url_replace request 'page' page_obj.previous_page_number %}">«</a> 7 </li> 8 {% else %} 9 <li class="disabled page-item pagination-next"> 10 <span class="page-link">«</span> 11 </li> 12 {% endif %} 13 {% for page in page_obj.paginator.page_range %} 14 {% if page %} 15 {% ifequal page page_obj.number %} 16 <li class="active page-item"> 17 <span class="page-link">{{ page }} 18 <span class="page-link sr-only">(current)</span> 19 </span> 20 </li> 21 {% else %} 22 <li class="page-item"> 23 <a class="page-link" href="?{% url_replace request 'page' page %}">{{ page }}</a> 24 </li> 25 {% endifequal %} 26 {% endif %} 27 {% endfor %} 28 {% if page_obj.has_next %} 29 <li class="page-item pagination-next"> 30 <a class="page-link" href="?{% url_replace request 'page' page_obj.next_page_number %}">»</a> 31 </li> 32 {% else %} 33 <li class="disabled page-item pagination-next"> 34 <span class="page-link ">»</span> 35 </li> 36 {% endif %} 37</ul>
python
1#item_extras.py 2from django import template 3 4register = template.Library() 5 6@register.simple_tag 7def url_replace(request, field, value): 8 dict_ = request.GET.copy() 9 dict_[field] = value 10 return dict_.urlencode()
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/01 11:06