Django Paginator 分頁
阿新 • • 發佈:2018-05-09
django 分頁 Paginator 1,視圖配置views
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 %}
Django Paginator 分頁