【发布时间】:2018-11-06 11:35:00
【问题描述】:
我正在使用 django 作为网站的后端
将有 10 个 qwestions 我想对它们进行分页(给出一个 qwestion 的答案,然后转到下一个,依此类推),最后给出根据给出的所有答案计算的分数
关于如何做的任何提示?
我发现了类似的东西,但不知道如何在 django 中实现
【问题讨论】:
标签: django pagination
我正在使用 django 作为网站的后端
将有 10 个 qwestions 我想对它们进行分页(给出一个 qwestion 的答案,然后转到下一个,依此类推),最后给出根据给出的所有答案计算的分数
关于如何做的任何提示?
我发现了类似的东西,但不知道如何在 django 中实现
【问题讨论】:
标签: django pagination
你看过 Django Pagination 文档吗?
https://docs.djangoproject.com/en/2.1/topics/pagination/
从那个页面
你的看法:
from django.core.paginator import EmptyPage, PageNotAnInteger, Paginator
from django.shortcuts import render
def listing(request):
contact_list = Contacts.objects.all()
paginator = Paginator(contact_list, 25) # 25 is the items per page, in Your case would be 1
page = request.GET.get('page')
contacts = paginator.get_page(page)
return render(request, 'list.html', {'contacts': contacts})
您的模板:
{% for contact in contacts %}
{# Each "contact" is a Contact model object. #}
{{ contact.full_name|upper }}<br>
...
{% endfor %}
<div class="pagination">
<span class="step-links">
{% if contacts.has_previous %}
<a href="?page=1">« first</a>
<a href="?page={{ contacts.previous_page_number }}">previous</a>
{% endif %}
<span class="current">
Page {{ contacts.number }} of {{ contacts.paginator.num_pages }}.
</span>
{% if contacts.has_next %}
<a href="?page={{ contacts.next_page_number }}">next</a>
<a href="?page={{ contacts.paginator.num_pages }}">last »</a>
{% endif %}
</span>
</div>
要转到一个页面,您应该添加到 url ?page=1 其中 1 是页码。
【讨论】: