from django.core.paginator import Paginator def HostInfo(request,page_id=1): host_info = models.HostInfo.objects.all().order_by('id') #创建分页对象,13为每页数据条目 p = Paginator(host_info, 13) #实例化当前页 current_page = p.page(page_id) host_list = [] for host in current_page: host_group = models.HostGroup.objects.filter(id=host.host_group_id)[0].group_name idc = models.IDC.objects.filter(id=host.idc_id)[0].idc_name host_list.append({'hostname':host.hostname,'IP':host.IP,'host_group':host_group, 'device_type':host.device_type,'status':host.status,'idc':idc,'msg':host.msg}) return render(request, "cmdb_host.html", locals())
2,路由配置
django.conf.urls urlinclude app_cmdb views urlpatterns = [url(views.HostInfo)]
3,模板
margin-top:5px;background-color: #f5f5f5;主机名IP地址所属组描述设备类型设备状态机房操作{% for host in host_list %} {{ host.hostname }}{{ host.IP }}{{ host.host_group }}{{ host.msg }}{{ host.device_type }}{{ host.status }}{{ host.idc }}padding-left:5px;详情编辑删除{% endfor %} margin-top:-30px;padding-right:9%{% if current_page.has_previous %} 上一页{% else %} 上一页{% endif %} <!--循环分页对象索引列表--> {% for index in p.page_range %} {% if page_id == index %} background-color: red{{ index }}{% else %} {{ index }}{% endif %} {% endfor %} <!--判断当前页是否有下一页--> {% if current_page.has_next%} 下一页{% else %} 下一页{% endif %}
原文:http://blog.51cto.com/8047993/2114538