读书人

根据django1.5写的paginator分页函数与

发布时间: 2013-09-06 10:17:17 作者: rapoo

根据django1.5写的paginator分页函数与代码。怎么一直不显示呢?代码如下
根据django1.5写的分页代码
views.py 的分页函数

def listing(request):
msg_list = Msg.objects.all()
paginator = Paginator(msg_list, 6)
page = request.GET.get('page')
try:
msgpages = paginator.page(page)
except PageNotAnInteger:
msgpages = paginator.page(1)
except EmptyPage:
msgpages = paginator.page(paginator.num_pages)
return render_to_response('pagination/list.html', {'msgpages': msgpages})


urls.py
                       url(r'^$',
ListView.as_view(
#paginate_by=ITEMS_PER_PAGE,
queryset=Msg.objects.order_by('-id'),
context_object_name='msg_list',
template_name='msg_list_page.html'
)),


模版
msg_list_page.html
{% extends "base.html" %}

{% block title %}留言列表{% endblock %}

{% block content %}
<table class="msglist">
<caption><h2>Django 留言本</h2></caption>
{% include "msg_list.html" %}
</table>
{% include "pagination/list.html" %}
{% endblock %}



list.html
{% for msgpage in msgpages %}
{{ msgpage.full_name|upper }}
{% endfor %}

<div class="pagination">


<span class="step-links">
{% if msgpages.has_previous %}
<a href="?page={{ msgpages.previous_page_number }}">previous</a>
{% endif %}
<span class="current">
Page {{ msgpages.number }} of {{ msgpages.paginator.num_pages }}
</span>
{% if msgpages.has_next %}
<a href="?page={{ msgpages.next_page_number }}">next</a>
{% endif %}
</span>
</div>





结果总是只显示模板里的: Page of 两个字。别的都不显示。哪里出了问题了?多谢。
[解决办法]
改过之后的输出是什么样子的?我不是很清楚你要实现什么?我的理解是:你有一个list,你希望分页显示这个list,对吧?如果是这个样子的话,你就要明确在template里显示什么,很显然msg_list是整个list,不是分页里的子list。如果你的意图并非这个样子,那么抱歉我理解错了。建议你还是好好研究一下django的资料,官方文档非常详细的。

读书人网 >perl python

热点推荐