私のサイトにはページ番号がありますが、1〜19のようなページが表示されますが、5ページしか表示しません。 Django paginatorすべての数字を表示しないページ範囲
どうすればいいですか?
views.py
paginator = Paginator(object_list, new_number_of_list)
page = request.GET.get('page')
try:
Items = paginator.page(page)
except PageNotAnInteger:
Items = paginator.page(1)
except EmptyPage:
Items = paginator.page(paginator.num_pages)
variables = RequestContext(request, {"Items": Items,
"ForItemCount": ForItemCount,
"page": page,
})
return render(request, 'templates/Core/resource_base.html',
variables)
私pagination.html
<div class="pagination p1">
<span class="step-links">
<ul>
{% for l in Items.paginator.page_range %}
<li><a href="?page={{forloop.counter}}">{{forloop.counter}}</a></li>
{% endfor %}
</ul>
</span>
</div>
これは良い解決策ですが、あなたの 'link_name'はうまく動作しません。 このバージョンは正しい動作: '@のregister.filter(NAME = 'LINK_NAME') DEF LINK_NAME(パス、PAGE_NUMBER): URL = urlparse(パス) 適量=のparse_qs(URL [4]) PAGE_NUMBER = STR( (0)、url [1]、url [2]、url [3]、urlencode(qs)、url [5])) ' –
qt ['page'] = page_number返信urlunparseありがとうございました@elfuego、何が失敗したのか、あなたは追加のコードを追加する必要があります、あなたが使っていたDjangoのバージョンは何ですか?私はこれを実稼働現場に配備し、問題は発生しませんでしたが、1.11でテストしていました。 – LNI
実際の問題は、ページリンクをクリックするたびに、リンクに追加の '&page = X'が追加されるため、最終的には' ...?page = X&page = Y ... 'となります。 私のDjangoバージョンは2.0.1、私のPythonバージョンは '3.6.2'です。 –