上节回顾:(模板层)
 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.模板导入-->写了一个在项目中要经常用到的组件,我们可以通过模板导入来实现复用的效果

    第一步:写好这个要复用的模板

    第二步:在要复用到这个模板的地方{% include '模板的名字'%}

  2.模板的继承

    第一步:写一个母版,留一个可扩展的区域(盒子),可以留多个盒子(流的越多,可扩展性越强)

        {%block 名字%}

            可以写内容

        {%endblock%}

    第二步:在子模板中使用:

        {%block 名字%}

            子模板的内容

        {%endblock名字%}

  3.静态文件相关

      1.写死静态文件:<img src="/static/img/1.jpg" alt="">

      2.使用static标签函数:

          {%load static%}

          #static返回值,会拼上传参的路径

          {%static "传参"%}

      3.使用get_static_prefix标签

          {%load static%}

          #get_static_prefix返回值是:静态文件的地址,相当于/static/

  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)
             Book.objects.filter(price__lt=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")
             Book.objects.filter(title__icontains="python")
             Book.objects.filter(title__startswith="py")
             Book.objects.filter(pub_date__year=2012)

day71的更多相关文章

  1. python笔记 - day7-1 之面向对象编程

    python笔记 - day7-1 之面向对象编程 什么时候用面向对象: 多个函数的参数相同: 当某一些函数具有相同参数时,可以使用面向对象的方式,将参数值一次性的封装到对象,以后去对象中取值即可: ...

  2. python 全栈开发,Day71(模型层-单表操作)

    昨日内容回顾 1. {% include '' %} 2. extend base.html: <html> ..... ..... ..... {% block content%} {% ...

  3. day71 菜单的排序 点击被选中

    菜单的排序:(给菜单设置权重,权重高的让他显示在上面) from django import template from django.conf import settings from collec ...

  4. Day71 分页,cookie and Session

    cookie 是保存在客户端的键值对. cookie本身最大支持4096字节,保存在客户端的 session是保存在服务器端的键值对.(依赖cookie) cookie和session cookie的 ...

  5. 【五一qbxt】day7-1 引水入城

    [noip2010 洛谷p1514]引水入城 Before: 线段覆盖问题#1:(我们所需要的) 一个区间,若干条线段,现在求最少多少条线段覆盖满整个区间 区间长度8,可选的覆盖线段[2,6],[1, ...

  6. day71 django收尾

    目录 一.Auth模块 1 简介 2 方法总结 3 如何扩展auth_user表 二.bbs表介绍 1 项目开发流程 2 bbs七张表关系 一.Auth模块 1 简介 在我们创建好一个django项目 ...

  7. day71:drf:API接口&Restful API规范&Django Rest Framework&drf中的序列化和反序列化功能

    目录 1.web应用模式 2.API接口 3.Restful API规范 4.序列化 5.Django Rest Framework 1.drf的简单介绍 2.drf的特点 3.如何安装drf 4.d ...

  8. Go终端读写

    终端读写 操作终端相关文件句柄常量 os.Stdin:标准输入 os.Stdout:标准输出 os.Stderr:标准错误输出 终端读写实例: package main import ( " ...

  9. 100 天从 Python 新手到大师

    Python应用领域和就业形势分析 简单的说,Python是一个“优雅”.“明确”.“简单”的编程语言. 学习曲线低,非专业人士也能上手 开源系统,拥有强大的生态圈 解释型语言,完美的平台可移植性 支 ...

随机推荐

  1. form图片上传遇到错误

    org.springframework.web.multipart.MultipartException: The current request is not a multipart request ...

  2. Hadoop大数据初入门----haddop伪分布式安装

    一.hadoop解决了什么问题 hdfs 解决了海量数据的分布式存储,高可靠,易扩展,高吞吐量mapreduce 解决了海量数据的分析处理,通用性强,易开发,健壮性 yarn 解决了资源管理调度 二. ...

  3. <Android 应用 之路> 一个类似今日头条的APP

    简介 最近花了一两天的时间完成一个简易的新闻头条客户端的应用,引用到了SwipeRefreshLayout,CircleImageView,RxAndroid,Picasso,PhotoPicker等 ...

  4. 如何使用活字格快速搭建Bug管理系统?

    Bug管理系统是指一种用于添加Bug.修复Bug.测试Bug.删除Bug的一套完整的Bug管理系统. 完整的Bug管理过程包含: 1.测试人员利用Bug管理系统提交发现的bug. 2.测试人员把bug ...

  5. 用例设计之API用例覆盖准则

    基本原则 本文主要讨论API测试的用例/场景覆盖,基本原则如下: 用户场景闭环(从哪来到哪去) 遍历所有的实现逻辑路径 需求点覆盖 覆盖维度 API协议(参数&业务场景) 中间件检查 异常场景 ...

  6. xp_readerrorlog与sp_readerrorlog

    SQL SERVER 可以使用xp_readerrorlog 或者sp_readerrorlog来查看错误日志. xp_readerrorlog 一共有七个参数: 1. 存档编号 2. 日志类型(1为 ...

  7. 编写脚本-SQL SERVER 用户权限分配

    USE   [TXM];GOCREATE USER  [WIN-JO\Administrator]FOR LOGIN  [WIN-JO\Administrator];GOEXEC sp_addrole ...

  8. 工作中遇到的问题收集--.NET

    一.拒绝访问 temp 目录.用来运行 XmlSerializer 的标识“IIS APPPOOL\MZJYMIS”没有访问 temp 目录的足够权限.CodeDom 将使用进程正在使用的用户帐户进行 ...

  9. [Spark Core] 在 Spark 集群上运行程序

    0. 说明 将 IDEA 下的项目导出为 Jar 包,部署到 Spark 集群上运行. 1. 打包程序 1.0 前提 搭建好 Spark 集群,完成代码的编写. 1.1 修改代码 [添加内容,判断参数 ...

  10. 【转】Java学习—什么是时间复杂度

    [原文]https://www.toutiao.com/i6593144782992704007/ 转载:程序员小灰 时间复杂度的意义 究竟什么是时间复杂度呢?让我们来想象一个场景: 某一天,小灰和大 ...