母版,单表操作

fushaunglin fushaunglin     2023-01-18     668

关键词:


上节回顾:(模板层)
1 模板之变量---
-支持数字,字符串,布尔类型,列表,字典---相当于对它进行了打印
-函数--->相当于加括号运行(不能传参数)
-对象--->内存地址,(如果重写__str__方法,打印的就是返回的内容)
2 过滤器
-length---计算长度
-default----设默认值
-filesizeformat---把数字转成文件大小格式
-截断字符---最少是三
-截断单词
-data----格式化日期类型
-add-----数字,字符串相加
-slice----切片,首,尾,步长 ‘1:-1:2‘
-safe-----把前端代码渲染到页面,而不是直接显示
3 标签
-for --用法跟python一样
-if --用法跟python一样
-with --相当于取别名
4 自定义标签
-1 在app下创建一个模块,名字必须叫templatetags
-2 创建任意一个py文件,my_tags.py
-3 导入:from django.template import Library
-4 注册:register=Library()
-5 写一个函数,用register.simple_tag(name=可以写一个别名),装饰一下
-6 使用(重启)
-7 在模板里:%load my_tags%
-8 % 函数名字或者别名 %,传参,用空格分割
5 自定义过滤器
-1 在app下创建一个模块,名字必须叫templatetags
-2 创建任意一个py文件,my_tags.py
-3 导入:from django.template import Library
-4 注册:register=Library()
-5 写一个函数,用register.filter(name=可以写一个别名),装饰一下
-6 使用(重启)
-7 在模板里:%load my_tags%
-8 函数名字或者别名 ,传参,最多传两个参数‘参数一‘|过滤器名字:‘参数二‘
6 过滤器可以用在if判断中,标签不能


今日内容:
1 模版导入-->写了一个好看的组件,可以复用,
1 写一个模板
2 在模板中:% include ‘模板的名字‘%
2 模板的继承
1 写一个母版,留一个可扩展的区域(盒子),可以留多个盒子(留的越多,可扩展性越高)
%block 名字%
可以写内容
%endblock%
2 在子模板中使用:
%block 名字%
子模板的内容
%endblock 名字%

3 静态文件相关
1 写死静态文件:<link rel="stylesheet" href="/static/css/mycss.css">
2 使用 static标签函数:
-%load static%
#static返回值,会拼上传参的路径
-% static "传参"%
3 使用get_static_prefix 标签
-%load static%
#get_static_prefix返回值是:静态文件的地址,相当于/static/
-% get_static_prefix %css/mycss.css
4 单表操作;
-数据迁移命令:
-python3 manage.py makemigrations --->只是对变化做一个记录,记录文件在app的migrations
-python3 manage.py migrate ---->把更改提交到数据库
-python3 manage.py showmigrations ---->查看那个没有提交到数据库

-查询api
<1> all(): 查询所有结果
<2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象
<3> get(**kwargs): 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出错误。
<4> exclude(**kwargs): 它包含了与所给筛选条件不匹配的对象
<5> order_by(*field): 对查询结果排序(‘-id‘)
<6> reverse(): 对查询结果反向排序
<8> count(): 返回数据库中匹配查询(QuerySet)的对象数量。
<9> first(): 返回第一条记录
<10> last(): 返回最后一条记录
<11> exists(): 如果QuerySet包含数据,就返回True,否则返回False
<12> values(*field): 返回一个ValueQuerySet——一个特殊的QuerySet,运行后得到的并不是一系列
model的实例化对象,而是一个可迭代的字典序列
<13> values_list(*field): 它与values()非常相似,它返回的是一个元组序列,values返回的是一个字典序列
<14> distinct(): 从返回结果中剔除重复纪录

-基于双下划线的模糊查询
Book.objects.filter(price__in=[100,200,300])
Book.objects.filter(price__gt=100)大于100
Book.objects.filter(price__lt=100)小于100
Book.objects.filter(price__gte=100)大于等于
Book.objects.filter(price__lte=100)小于等于
Book.objects.filter(price__range=[100,200])在**范围内
Book.objects.filter(title__contains="python")查询结果有python字段
Book.objects.filter(title__icontains="python")忽略大小写有python字段
Book.objects.filter(title__startswith="py")以什么开头
Book.objects.filter(pub_date__year=2012)按年查询


作业:
1 模板的导入,继承,写一遍,整理到博客上
2 单表查询:
1 查询老男孩出版社出版过的价格大于200的书籍

2 查询2017年8月出版的所有以py开头的书籍名称

3 查询价格为50,100或者150的所有书籍名称及其出版社名称

4 查询价格在100到200之间的所有书籍名称及其价格

5 查询所有人民出版社出版的书籍的价格(从高到低排序,去重)

 

















































































































单表查询(代码片段)

...入在模板中写%include‘模板的名字‘%模板的继承1写一个母版,留一个可扩展的区域(盒子),可以留多个盒子(留的越多,可扩展性越高)%block名字%可以写内容%endblock%2在子模板中使用:%block名字%子模板的内容%endblock名字%静态文件1写死静... 查看详情

模型层单表操作(代码片段)

模型层单表操作单表操作例:1.单表的查询1.单表查询所有用户:models.Book.objects.all()得到的是queryset对象(当成列表),列表里面,一个一个的对象[user1,user2]?2.render(request,‘booklist.html‘,‘book_list‘:ret)?3.模板里:%foruserinbook_list%#要循环的... 查看详情

mysql单表操作(代码片段)

文章目录MySQL单表操作一、排序二、聚合函数三、分组四、limit关键字MySQL单表操作一、排序语法格式说明SELECT字段名FROM表名[WHERE字段=值]ORDERBY字段名[ASC]ASC表示升序排序(默认)SELECT字段名FROM表名[WHERE字段=值]ORDERBY字段名[DES... 查看详情

mysql单表操作(代码片段)

文章目录MySQL单表操作一、排序二、聚合函数三、分组四、limit关键字MySQL单表操作一、排序语法格式说明SELECT字段名FROM表名[WHERE字段=值]ORDERBY字段名[ASC]ASC表示升序排序(默认)SELECT字段名FROM表名[WHERE字段=值]ORDERBY字段名[DES... 查看详情

单表多表操作

一、单表操作1.1在python的脚本下调用Django环境test.py1.2用orm创建表models.py数据的迁移操作python3manage.pymakemigrations#只是对变化做一个记录,记录文件在app的migrations文件夹下python3manage.pymigrate     #把更改提交到数据库python3manage.... 查看详情

查询语句select[单表操作](代码片段)

---SQL单表简单查询1、单表操作&别名的使用1--查询表的所有数据:select*from表名;通配符*代表所有2select*fromemp;1--查询表中指定字段的值:select字段名1,字段名2,...from表名;2selectempno,ename,job,sal,hiredate,commfromemp;1--查询结果中的字段... 查看详情

5.单表操作

一、基本增删改查操作  models.Tb1.objects.create(c1=‘xx‘,c2=‘oo‘)#增加一条数据,可以接受字典类型数据**kwargsobj=models.Tb1(c1=‘xx‘,c2=‘oo‘)obj.save()#查models.Tb1.objects.get(id=123)#获取单条数据,不存在则报错(不建议)models.Tb1... 查看详情

数据库:数据操作-单表查询

一单表查询的语法select字段1,字段2....from表名where条件groupbyfieldhaving筛选orderbyfieldlimit限制条数  二关键字的执行优先级(重点)关键字的执行优先级fromwheregroupbyhavingselectdistinctorderbylimit  1.找到表:from2.拿着where指定的约束... 查看详情

17-2orm单表操作和多表操作(代码片段)

参考:https://www.cnblogs.com/liwenzhou/p/8660826.html一 ORM单表操作1增删改查11.查询21.查所有3models.Publisher.objects.all()42.查某个具体的记录5models.Publisher.objects.get(id=1)-->注意查询条件不成立就报错62.删除一条记录7models.Publish 查看详情

mybatis实现单表增删改查操作

mybatis是对持久层进行了封装、mybatis文档地址:https://mybatis.org/mybatis-3/zh/index.html下面实现单表的增删改查操作。1.新建maven项目命名为mybatis、并在pom.xml中引入相关依赖<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.ap 查看详情

学员管理示例——班级管理(单表操作)(代码片段)

一、新建views文件夹  1、新建views文件夹目的:给不同管理的操作分类,比如班级操作归为一类。   2、必须删除原来的views,以免路径搜索不到新建views文件夹  3、创建classes.py文件 二、操作流程(URL->函数->... 查看详情

ogg单表初始化操作步骤

 认识logdump分析工具及常用命令:http://book.51cto.com/art/201202/319253.htmhttp://www.killdb.com/2012/09/01/goldengate-%E5%AD%A6%E4%B9%A0%E7%B3%BB%E5%88%974-logdump.html在OGG中,报ORA-01403:nodatafound,原因一般就是源端要 查看详情

django基础五之django模型层单表操作(代码片段)

ORM单表操作类---表类对象---一行数据类属性---字段 增创建记录方式1student_obj=models.Student(name=‘dazhaung‘,age=23,)student_obj.save()创建记录方式2new_obj=models.Student.objects.create(name=‘xiaozhuang2‘,age=6)#写成**‘name‘:‘xx‘ 查看详情

django模型层:单表多表操作f与q查询(代码片段)

DJango模型层单表操作使用有几步:settings.py中配置连接数据库的地址,端口在init.py中使用pymysql在models.py里写类,一个类对应一个表,写属性数据库迁移命令,第一个命令是纪录,第二个命令才是真正的数据库同步导入models到views... 查看详情

13.django(单表操作:增简单查询删改补天字段问题)

单表操作—增再次明确orm与mysql的对应关系orm          mysql类           表类中的属性      查看详情

django模型层:单表操作(代码片段)

一ORM简介 对象关系映射(ObjectRelationalMapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术 查询数据层次图解:如果操作mysql,ORM是在pymysq之上又进行了一层封装MVC或者MTV框架中包括... 查看详情

django之单表操作(代码片段)

1.查询方法:<1>all():查询所有结果<2>filter(**kwargs):它包含了与所给筛选条件相匹配的对象<3>get(**kwargs):返回与所给筛选条件相匹配的对象,返回结果有且只有一个,如果符合筛选条件的对象超过一个或者没有都会抛出... 查看详情

9.17模型层orm单表操作(代码片段)

1创建模型创建名为book的app,在book下的models.py中创建模型:fromdjango.dbimportmodels#Createyourmodelshere.classBook(models.Model):id=models.AutoField(primary_key=True)title=models.CharField(max_length=32)state=models.Bo 查看详情