django通用视图用法

#coding=utf-8

from django.core.paginator import Paginator,InvalidPage
#分页模块
from django.views.generic import list_detail #通用视图模块
...................................................................................................................................................

def get_query():
    return 一个数据集

if request.user.is_authenticated():#用户合法
    return list_detail.object_list(
        request, 
        queryset = Tab_answer.objects.select_related().filter(userid=request.user).order_by('-id'), #你要利用通用视图显示的数据集
        template_name = "zhidao/question_myanswer.html", #显示模板
        paginate_by = 15, #每页显示个数
        extra_content = {'string':'aaa','query':get_query} #向通用视图传递额外的数据,以字典形式存储
)
 

.......................下面是模板里的分页代码,一个最简单的.............................

<div style="text-align:center;width:75%;font-size:12px;">
    {% if is_paginated %}
        {% ifequal page 1 %}
                 首页
        {% else %} 
                <a href="?page=1">首页</a>
        {% endifequal %}
        {% if has_previous %} 
               <a href="?page={{ previous }}">上一页</a>
        {% else %} 
               上一页
        {% endif %} 
        {% if has_next %}
               <a href="?page={{ next }}">下一页</a>
        {% else %}
               下一页
        {% endif %}
        {% ifequal page pages %}
                末页
         {% else %}
               <a href="?page={{ pages }}">末页</a>
         {% endifequal %}
         &nbsp;&nbsp;
          当前页:{{ page }}/{{ pages }}
         &nbsp;&nbsp;
         {% endif %}
</div>
 
....................................................................

你可能感兴趣的:(html,django)