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})
05-11 22:00