如何解决分页在Django模板页面中不起作用
我试图在模板页面中加入分页。但是执行项目时遇到模板语法错误。
它说: 无法解析剩余的内容:“ == i”(来自“ posts.number == i”)
对此我感到非常沮丧。
views.py
def posts(request):
posts = Post.objects.filter(active=True)
myFilter = PostFilter(request.GET,queryset=posts)
posts = myFilter.qs
page = request.GET.get('page')
paginator = Paginator(posts,3)
try:
posts = paginator.page(page)
except PageNotAnInteger:
posts = paginator.page(1)
except EmptyPage:
posts = paginator.page(paginator.num_pages)
context = {'posts': posts,'myFilter': myFilter}
return render(request,'base/posts.html',context)
posts.html
<div class="row">
{%if posts.has_other_pages%}
<ul class="pagination">
{%for i in posts.paginator.page_range%}
{%if posts.number==i%}
<li class="page-item"><a class="active page-link">{{i}}</a></li>
{%else%}
<li class="page-item"><a href="?page={{i}}" class="page-link">{{i}}</a></li>
{%endif%}
{%endfor%}
</ul>
{%endif%}
</div>
解决方法
请在posts.number
和i
之间添加空格。我建议这样的事情:
{%if posts.number == i%}
代替{%if posts.number==i%}
<div class="row">
{%if posts.has_other_pages%}
<ul class="pagination">
{%for i in posts.paginator.page_range%}
{%if posts.number == i%}
<li class="page-item"><a class="active page-link">{{i}}</a></li>
{%else%}
<li class="page-item"><a href="?page={{i}}" class="page-link">{{i}}</a></li>
{%endif%}
{%endfor%}
</ul>
{%endif%}
</div>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。