Django 测试开发4 Django 模板和分页器

Django结合前端框架Bootstrap来开发web页面。pip install django-bootstrap3

在setting.py添加‘bootstrap3’。

继承模板。

在base页面添加。

{% block content %}

{% endblock %}

中间为空白,继承页面可以继承使用base页面并自由填充。

{% extends "base.html" %}
{% block content %}
......

{% endblock %}

 分页器

常用命令:

from django.core.paginator import Paginator,EmptyPage,PageNotAnInteger
p = Paginator(数据,2)            #创建每页2条数据的分页器
p.count                   #查看一共有多少条数据
p.num_pages                #一共多少页、最大页数。
page2 = p.page(2)             #获取第二页数据
page2.has_previous()            #是否有上一页
page2.previous_page_number()        #上一页是第几页、获取上一页的页数
page2.has_next()             #是否有下一页
page2.next_page_number()         #下一页是第几页、获取下一页的页数。
page2.start_index()             #本页第一条数据
page2.end_index()            #本页最后一条数据


from django.core.paginator import Paginator,EmptyPage,PageNotAnInteger

@login_required
def guest_manage(request):
    username = request.session.get('user','')  #读取浏览器session
    guest_list = Guest.objects.all() #在数据库读取sign_guest表的数据
    p = Paginator(guest_list,2)   #分页,每页2条数据
    page = request.Get.get('page')
    try:
        contacts =p.page(page)
    except PageNotAnInteger:
        #如果page不是整数,取第一页数据。
        contacts = p.page(1)
    except EmptyPage:
        #如果page不在范围取最后一页数据
        contacts = p.page(p.num_pages)
    return render(request,'guest_manage.html',{'user':username,'guests':contacts})

 Django 调用数据库方法:get_object_or_404() 默认调用table.objects.get(),如果对象不存在,就会抛出Http404异常

from django.shortcuts import render,get_object_or_404

@login_required
def sign_index(request,eid):
    # 默认调用table.objects.get(),如果对象不存在,就会抛出Http404异常
   event = get_object_or_404(Event,eid)
   return render(request,'event_manage.html',{'event':event})

 

原文地址:https://www.cnblogs.com/wzjbg/p/11628770.html