【发布时间】:2015-06-25 02:22:39
【问题描述】:
我关注 djangoproject.com 的这个文档:https://docs.djangoproject.com/en/1.8/topics/pagination/。但这太简单了。它只是下一个和上一个按钮。
现在我想创建具有更多功能的分页,例如http://i.imgur.com/ZiFeAqG.jpg。
这是代码:
查看.py
def hire(request):
hire_article_list = hire_article.objects.all().order_by('-id')
#hire_article_list = hire_article.objects.order_by("-publication_date")
paginator = Paginator(hire_article_list, 2) # Show 25 contacts per page
page = request.GET.get('page')
try:
hire_article_s = paginator.page(page)
except PageNotAnInteger:
# If page is not an integer, deliver first page.
hire_article_s = paginator.page(1)
except EmptyPage:
# If page is out of range (e.g. 9999), deliver last page of results.
hire_article_s = paginator.page(paginator.num_pages)
#return render_to_response('hire/list.html', {"page_list": page_list})
context = {'hire_article_s': hire_article_s}
return render(request, 'hire/list.html', context)
list.html
{% for j in hire_article_s %}
{# Each "j" is a page_list model object. #}
<li><a href="/hire/{{ j.slug }}-{{j.id}}">{{ j.hiring}}</a></li>
{% endfor %}
{% if hire_article_s.has_previous %}
<a href="?page={{ hire_article_s.previous_page_number }}">previous</a>
{% endif %}
<span class="current">
Page {{ hire_article_s.number }} of {{ hire_article_s.paginator.num_pages }}.
</span>
{% if hire_article_s.has_next %}
<a href="?page={{ hire_article_s.next_page_number }}">next</a>
{% endif %}
</span>
</div>
【问题讨论】:
-
能否请您发布您尝试使用更多功能进行分页的代码。
-
感谢您的回复。我加了
-
如果这不起作用,请尝试使用 django 无限分页库
-
但我不想使用 djangopackage。只是python代码。对我来说似乎很难找到解决方案
标签: django pagination