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) 就是在视图里使用类处 ...
随机推荐
- OpenStack kilo版(3) Nova部署
部署在controller和compute节点 配置数据库 MariaDB [(none)]> CREATE DATABASE nova; Query OK, 1 row affected ( ...
- Windows下常用DOS命令
1.添加用户命令: net user 用户名 密码 /add 2.将用户加入组的命令: net localgroup administrators 用户名 /add 3.在dos命令行模式下启用用户: ...
- Mac下多版本JDK安装及管理
在Java项目中,经常对JDK版本有不同的要求,可是不可能为了某个项目的运行重新下载不同版本JDK进行安装,这样就涉及到对本地环境中多个JDK版本的管理. Mac的JDK都是安装到一个指定目录的:/L ...
- 【问题】man命令打开的手册上链接怎么展开?
参考:How to follow links in linux man pages? 前言 在使用man查看命令帮助的时候,有些文字下面会有下划线.给人的感觉是一个链接,但是又打不开.那么到底是不是链 ...
- HTML&CSS基础-相对定位
HTML&CSS基础-相对定位 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HTML源代码 <!DOCTYPE html> <html> &l ...
- scikit-learn中的机器学习算法封装——kNN
接前面 https://www.cnblogs.com/Liuyt-61/p/11738399.html 回过头来看这张图,什么是机器学习?就是将训练数据集喂给机器学习算法,在上面kNN算法中就是将特 ...
- windows10下安装tensorflow2.0-GPU和Cupy(不用搞CUDA+cudnn)
0.前言 今年暑假买了个1660ti的游戏本学python,后来发现跑一些数据量比较大的代码和深度学习的时候太慢了,遂想装一下GPU版本,看了网上的资料搞了好几天,又是CUDA又是cudnn的,网速慢 ...
- IntelliJ IDEA如何默认使用阿里云的Maven仓库
点击IntelliJ IDEA的config中的setting选项 在<mirrors>节点中加上一个子节点,然后保存即可: <mirror> <id>alimav ...
- postgresql —— 查看索引
查索引 语句: SELECT tablename, indexname, indexdef FROM pg_indexes WHERE tablename = 'user_tbl' ORDER BY ...
- 0、Python学习路线
阶段一.Python语言(熟练掌握Python多线程并发编程技术,可以编写爬虫程序和语音识别软件.) 1.1 基础语法 1.1.1 python概述 1.1.2 数据的存储 1.1.3 ...