如果它不能,那麼是否有其他的選擇(Django的本地分頁或備用包),允許每頁有多個分頁?django-pagination可以在每頁上做多個分頁嗎?
我想顯示約5個對象的列表,每個對象都有自己的分頁上下文。
爲方便起見,這裏是documentation for django-pagination。
如果它不能,那麼是否有其他的選擇(Django的本地分頁或備用包),允許每頁有多個分頁?django-pagination可以在每頁上做多個分頁嗎?
我想顯示約5個對象的列表,每個對象都有自己的分頁上下文。
爲方便起見,這裏是documentation for django-pagination。
當然,這是可能的。我不能說django-pagination包,但它肯定可以使用默認的Django的Paginator
類。您可以在視圖內創建儘可能多的視圖。只需選擇不同的GET參數來指定它們中的每一個的頁面,並且您很好。
我知道這個帖子是舊的,但它仍然是相關的。以下內容適用於Django 1.9。
這是如何做到這一點,
views.py
def myview():
Model_one = Model.objects.all()
paginator = Paginator(Model_one, 6)
page = request.GET.get('page1')
try:
Model_one = paginator.page(page)
except PageNotAnInteger:
Model_one = paginator.page(1)
except EmptyPage:
Model_one = paginator.page(paginator.num_pages)
Model_two = Model_other.objects.all()
paginator = Paginator(Model_two, 6)
page = request.GET.get('page2')
try:
Model_two = paginator.page(page)
except PageNotAnInteger:
Model_two = paginator.page(1)
except EmptyPage:
Model_two = paginator.page(paginator.num_pages)
context = {'Model_one': Model_one, 'Model_two': Model_two}
return render(request, 'template.html', context)
上面最重要的是 '第1頁' 和 '第2頁'。
在模板中,
{% if model_one %}
<div class="col-md-12 well">
{% for item in model_one %}
..... iterates through model_one.....
{% endfor %}
<span class="step-links pagination">
{% if model_one.has_previous %}
<a href="?page1={{ model_one.previous_page_number }}"> previous </a>
{% endif %}
<span class="current">
Page {{ model_one.number }} of {{ model_one.paginator.num_pages }}
</span>
{% if model_one.has_next %}
<a href="?page1={{ model_one.next_page_number }}"> next </a>
{% endif %}
</span>
</div>
{% endif %}
{% if model_two %}
<div class="col-md-12 well">
{% for item in model_two %}
..... iterates through model_two.....
{% endfor %}
<span class="step-links pagination">
{% if model_two.has_previous %}
<a href="?page2={{ model_two.previous_page_number }}"> previous </a>
{% endif %}
<span class="current">
Page {{ model_two.number }} of {{ model_two.paginator.num_pages }}
</span>
{% if model_two.has_next %}
<a href="?page2={{ model_two.next_page_number }}"> next </a>
{% endif %}
</span>
</div>
{% endif %}
再次使用第1頁「」和「第2頁」以區分每個模型的分頁。
我在找同樣的東西。你找到什麼了嗎? – andyzinsser