Python Django分页,正在浏览但现在显示数据
我会尽量保持简单!:) 我已经在django应用程序中设置了分页。我正在设法循环浏览我在分页中设置的页面。共有12页,每页10条新闻。我可以点击下一步和我想查看的页码,这些都很好 然而,后端帖子中的数据没有显示,我不明白为什么。我想这是因为我没有从thr模板正确访问模型。无论如何,这里是我的代码: Views.py:Python Django分页,正在浏览但现在显示数据,python,django,pagination,django-views,django-pagination,Python,Django,Pagination,Django Views,Django Pagination,我会尽量保持简单!:) 我已经在django应用程序中设置了分页。我正在设法循环浏览我在分页中设置的页面。共有12页,每页10条新闻。我可以点击下一步和我想查看的页码,这些都很好 然而,后端帖子中的数据没有显示,我不明白为什么。我想这是因为我没有从thr模板正确访问模型。无论如何,这里是我的代码: Views.py: def press_list(request, template_name='pressbox/object_list.html', extra_context={}):
def press_list(request, template_name='pressbox/object_list.html', extra_context={}):
category = PressCategory.objects.get()
news_items = PressItem.objects.filter(is_active=True)
paginator = Paginator(news_items, 10)
page = request.GET.get('page', 1)
this_page = paginator.page(page)
page = int(page)
try:
this_page = paginator.page(page)
except(EmptyPage, InvalidPage):
raise Http404
extra_context = {
'category': category,
'paginator': this_page.object_list,
'paginator': paginator,
"current_page_pag": page,
'this_page': this_page,
}
return render_to_response(template_name, extra_context, RequestContext(request))
分页模板:
<div class="pag_wrap">
<ul class='news_paginator'>
<li class='prev'>{% if this_page.has_previous %}<a href='{{current_url}}?page={{this_page.previous_page_number}}'><</a>{% else %}<span><</span>{%endif%}</li>
{% for page in paginator.page_range %}
<li class='{% if forloop.last %}last {%endif%}{%ifequal current_page_pag page %}active {%endifequal%}'><a href='{{current_url}}?page={{page}}'>{{page}}</a></li>
{% endfor %}
<li class='next'>{% if this_page.has_next %}<a href='{{current_url}}?page={{this_page.next_page_number}}'>></a>{% else %}<span>></span>{%endif%}</li>
</ul>
</div>
- {%if this_page.has_previous%}{%else%}<;{%endif%}
{paginator.page_range%}
- {%如果这个页面有{u next%}{%else%}>;{%endif%}
新闻稿内容:
<ul class="article-list">
{% for object in paginator.page_range %}
<li class="{{ object.category.slug }}">
<a href="{{ object.get_absolute_url }}">
<img class="news_thumbnail" src="/media/{{object.thumbnail}}" alt="thumbnail" />
<strong class="article-title">{{ object.title }}</strong>
<span class="article-date">{{ object.published_on|date:"M d, Y" }}</span>
{{ object.short_description }}
{% comment %} <span class="article-category">{{ object.category.slug }}</span> {% endcomment %}
</a>
</li>
{% endfor %}
</ul>
{paginator.page_range%}中对象的%
-
{%endfor%}
我确信是paginator.page_range%}行中的-{%for对象在做这件事,因为目前它只是在文章的数量上循环,而不是在内容上循环。我不知道如何访问数据
任何帮助都将不胜感激。我对Python和Django还很陌生,我对迄今为止所做的工作印象非常深刻!:) 您正在传递
此页面。对象列表
和分页器
作为上下文中的'paginator'
。因此,paginator
实际上不是模板中的oblect\u列表
但您不需要在模板中传递该信息,而是可以使用此页面
,这样您的模板就可以更新为
<ul class="article-list">
{% for object in this_page.object_list %}
... your rendering code ...
{%endfor%}
</ul>
参考:您正在传递
此页面。对象列表
和分页器
作为上下文中的'paginator'
。因此,paginator
实际上不是模板中的oblect\u列表
但您不需要在模板中传递该信息,而是可以使用此页面
,这样您的模板就可以更新为
<ul class="article-list">
{% for object in this_page.object_list %}
... your rendering code ...
{%endfor%}
</ul>
参考资料:非常感谢!非常感谢。我还尝试了1.4+的第二个答案,因为我一直在学习更高版本。而我现在工作的网站是Django的旧版本。我想那就是混乱的地方。再次感谢!非常感谢你!非常感谢。我还尝试了1.4+的第二个答案,因为我一直在学习更高版本。而我现在工作的网站是Django的旧版本。我想那就是混乱的地方。再次感谢!