2017-08-01 107 views
0

我的问题是,Django的分页不工作

views.py

from django.shortcuts import render 
from django.utils import timezone 
from Blog.models import Makale,Kategori,Profil 
from django.core.paginator import Paginator,EmptyPage,PageNotAnInteger 

def index(request): 
    posts = Makale.objects.all().order_by('-tarih') 
    paginator = Paginator(posts,1) 

    page = request.GET.get('page') 
    try: 
     sayfalar = paginator.page(page) 
    except PageNotAnInteger: 
     sayfalar = paginator.page(1) 
    except EmptyPage: 
     sayfalar = paginator.page(paginator.num_pages) 
    return render(request,'index.html',{'posts':posts}, 
{'sayfalar':sayfalar}) 

的index.html

<div class="pagination"> 
         <ul> 

         <li><span class="nav-prev">{% for sayfa in sayfalar %}{% if sayfalar.has_previous %}<a href="?page={{ sayfalar.previous_page_number }}">Önceki</a>{% endif %}{% endfor %}</span></li> 
         <li><span class="current">{{ sayfalar.number }}</span></li> 
         <li><span class="nav-prev">{% for sayfa in sayfalar %}{% if sayfalar.has_next %}<a href="?page={{ sayfalar.next_page_number }}">Sonraki</a>{% endif %}{% endfor %}</span></li> 
        </ul> 
</div> 

此代码不能正常工作,当它的工作这段代码,导致空

我该怎么办?

回答

0

的问题是你给的参数到渲染功能的方式,改变

return render(request,'index.html',{'posts':posts},{'sayfalar':sayfalar}) 

通过

return render(request,'index.html', {'posts':posts, 'sayfalar':sayfalar}) 

您希望您在上下文参数的页面,所以同样的字典比一个用帖子。不是另一个参数。

+0

谢谢,它的工作,但现在页面不工作:( – Walqers