django中分页

django中分页
def list(request):
    newses = News.objects.filter(active=True).order_by("-date")
    paginator = Paginator(newses, 8)
   
    try:
        page = int(request.GET.get('page', '1'))
    except ValueError:
        page = 1
   
    try:
        finalNews = paginator.page(page)
    except (EmptyPage, InvalidPage):
        finalNews = paginator.page(paginator.num_pages)
   
    return render_to_response('news_list.html', {'newses':finalNews, 'count':newses.count(), 'numofpage':finalNews.object_list.count()})


{% load i18n%}
{% block content %}
<table width="800">
 {% for news in newses.object_list %}
 <tr>
  <td bgcolor="#EEEEEE" colspan="2">
   <a href="/news/{{news.id}}"class="left1">{{news.title}}</a>
  </td>
 </tr>
 <tr>
  <td align="left" bgcolor="#FFFFFF">{{news.date}}</td>
  <td align="left" bgcolor="#FFFFFF">类型:{{news.type}}</td>
 </tr>
 {% endfor%}
</table>

<table width="800">
 <tr>
  <td>
   总共{{count}}条信息&nbsp;&nbsp;&nbsp;
   <a href="?page=1">首页</a>&nbsp;&nbsp;&nbsp;
   {% if newses.has_previous %}
    <a href="?page={{ newses.previous_page_number }}">上一页</a>&nbsp;&nbsp;&nbsp;
   {% endif %}
   {% if newses.has_next %}
    <a href="?page={{ newses.next_page_number }}">下一页</a>&nbsp;&nbsp;&nbsp;
   {% endif %} 
    <a href="?page={{ newses.paginator.num_pages }}">尾页</a>&nbsp;&nbsp;&nbsp;
   {{ newses.number }} / {{newses.paginator.num_pages}} &nbsp;&nbsp;&nbsp;
   {{numofpage}}条/页
  </td>
 </tr>
</table>
{%endblock%}

你可能感兴趣的:(django中分页)