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})
Django 测试开发4 Django 模板和分页器的更多相关文章
- 测试开发中Django和Flask框架
Python测试开发中Django和Flask框架 为了更好地阐述这个问题,我们把开发一个应用的过程进行类比,往往开发一个应用(web应用.系统应用)跟建造房子的过程一样,需要先打地基,搭好骨架,然后 ...
- django测试开发-1.开始Hello django!
用python开发出一个web页面的时候,需要找一个支持python语言的web框架.django框架有丰富的文档和学习资料,也是非常成熟的web开发框架,本篇写一个简单的“hello django! ...
- Django 测试开发5 unittest测试用例
Django测试用例 Django默认Python的标准库unittest编写测试用例.Django的单元测试类django.test.TestCase 从unittest.TestCase继承而来. ...
- python测试开发django-2.templates模板与html页
前言 Django 中的视图的概念是一类具有相同功能和模板的网页的集合.通俗一点来说,就是你平常打开浏览器,看到浏览器窗口展示出来的页面内容,那就是视图.前面一章通过浏览器访问http://127.0 ...
- python测试开发django-7.django模板继承(block和extends)
前言 打开一个网站时候,点导航栏切换到不同的页面,发现导航部分是不变的,只是页面的主体内容变了,于是就可以写个母模板,其它的子页面继承母模板就可以了. 母模板 可以在母模板中添加多个块标签,每个块标签 ...
- Django 测试开发2
1.get方法和post方法 get方法 post方法 直接把method修改成post,报错如下,Django针对CSRF的保护措施是在生成的每个表单放置一个自动生成的令牌,通过这个令牌判断POS ...
- Django 测试开发1
笔者用的版本的是django==1.8.2,这个版本的学习资料最多,文档最完整.首先创建项目:django-admin startproject 项目名. guest/__init__.py 一个空的 ...
- python测试开发django-10.django连接mysql
前言 Django 对各种数据库提供了很好的支持,包括:PostgreSQL.MySQL.SQLite.Oracle.本篇以mysql为例简单介绍django连接mysql进行数据操作 Django连 ...
- python测试开发django-73.django视图 CBV 和 FBV
前言 FBV(function base views) 就是在视图里使用函数处理请求,这一般是学django入门的时候开始使用的方式. CBV(class base views) 就是在视图里使用类处 ...
随机推荐
- 第十八篇:简易版web服务器开发
在上篇有实现了一个静态的web服务器,可以接收web浏览器的请求,随后对请求消息进行解析,获取客户想要文件的文件名,随后根据文件名返回响应消息:那么这篇我们对该web服务器进行改善,通过多任务.非阻塞 ...
- 异常-Maxwell无法全量同步触发
因为之前插入错误的表导致同步失败的问题 重新启动Maxwell,重新插入初始化表 重新触发
- C++——Inheritence
一种错误的观念: 子类继承父类,只把父类的公有成员继承下来,私有的不会继承. 事实上无论是如何继承,都会把父类的所有成员继承下来. #include<iostream> using nam ...
- 记一次oracle 11g数据导入
1.ORACLE数据库数据导入到测试库环境 172.15.1.51 root kic@test 172.15.1.52 root 一般先将数据导入52的环境(配置比较低),再将数据导入51的环境(本 ...
- 某阅读多word整理自动化脚本
版权声明:本文为博主原创文章,转载 请注明出处:https://blog.csdn.net/sc2079/article/details/101055192 - 写在前面 最近想练习英语,发现电脑磁盘 ...
- vue 全局变量的处理方式
vue项目中配置全局动态变量的方式:sessionStorage,vuex多个组件都会用到的公共的状态和方法(复用):vue 全局混入vue项目中配置全局静态变量的方式:vue 的原型链: globa ...
- 文件操作中file.seek()方法
摘要: file.seek()可以将文件游标移动到文件的任意位置,本文具体的file.seek()文件游标移动操作方法. file.seek()方法标准格式是:seek(offset,whence=0 ...
- 2018 南京网络预赛Sum - 离线分段打表
题意 设 $f(n)$ 为 $n=ab$ 的方案数,其中 $a,b$ 为无平方因子数. 例如,$f(6)=4$,因为 $6 = 1 \times 6 = 2 \times 3 = 3 \times 2 ...
- BZOJ 1495 [NOI2006]网络收费(暴力DP)
题意 给定一棵满二叉树,每个叶节点有一个状态0/10/10/1,对于每两个叶节点i,ji,ji,j,如果这两个叶节点状态相同但他们的LCALCALCA所管辖的子树中的与他们状态相同的叶节点个数较少(少 ...
- Educational Codeforces Round 75 (Rated for Div. 2) D. Salary Changing
链接: https://codeforces.com/contest/1251/problem/D 题意: You are the head of a large enterprise. n peop ...