学习笔记——Django项目中的过滤器,模板继承

2022-10-08

过滤器

过滤器的含义:

  过滤器即筛选出我们设定需要的,过滤掉我们不需要的数据。

过滤器使用的场景:

  例如:在子应用的“views.py”中的一个类中的函数设置了一个请求在浏览器页面显示“组织内容”,例如:在“组织内容”中设置了一个“birthday:datatime.now()”。在“templates”文件夹中的“index.html”文件中获取设置的“birthday”内容。如果直接写成“{{birthday}}”,得到的结果日期格式是“月,日,年”。如果要变为常规的“年 月 日”,则需要一个过滤器。即按照既定想法设置数据格式。

格式如下:{{birthday|date:"Y年 m月 d日"}}。注意日期是“date”,而不是“data”,“data”是数据。除此之外,“Y年 m月 d日”需要加引号,要不然会报错,它表示的是要显示的内容。

过滤器的类别:,

  (1)safe

      safe表示的是如果在“组织内容”中碰到“<script></script>”,对应在“index.html”中调用的内容如果使用了过滤器,则不会转义,碰到的那段描述直接转为“script”语言。例如在"view.py"中的一个类中设置的一个函数中,

context ={
    'desc':<script>alter('哈哈')<script>
}

在“index.html”中使用过滤器获取到“desc”:

desc中的内容{{desc|safe}}

  (2)default(默认参数)

  (3)length

-------------------------------------------------------

模板继承

使用模板继承的目的:

  减少代码的冗余度。

模板继承的实例:

  首先在“templates”中创建一个“base.html”文件,放置“模板文件”。后创建一个“detail.html”文件,实现模板继承。

例如:“base.html”文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
{% block header %}
<h1>顶部</h1>
{% endblock header %}
{% block main %}
<h1>主要部分</h1>
{% endblock main %}
{% block bottom %}
<h1>尾部</h1>
{% endblock bottom %}
</body>
</html>

“detail.html”文件

{% extends 'base.html'%}
# 如果继承内容有变动,那么使用重写的方式
{% block main %}
<a href="#">戳我,戳我有惊喜</a>
{% endblock main %}

  说明:其中的“{% extends 'base.html'%}”表示模块继承。

 

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:学习笔记——Django项目中的过滤器,模板继承 - Python技术站

(0)
上一篇 2023年4月2日
下一篇 2023年4月2日

相关文章

  • 闭包第一天

    2022-09-09 1、闭包的作用: 可以保存外部函数的变量 2、闭包的形成条件 (1)函数嵌套 (2)内部函数使用了外部函数的变量或者参数 (3)外部函数返回内部函数,这个使用了外部函数变量的内部函数称为闭包 3、典例 1 # 函数嵌套 2 def func_out(): 3 # 外部函数 4 num1 = 10 5 6 def func_inner(n…

    2023年4月2日
    00
  • 学习笔记——Django项目中请求与响应(json数据)

    2022-10-04 测试json数据与Django项目与pycharm连接,在“postman”软件中。“postman”是一个接口测试软件。下载方式问度娘。 (1)在“postman”中设置“json”连接请求      设置的顺序:设置与pycharm中Django项目建立连接的“URL”路由,之后在左边选择“POST”,后点击“Body”,点击“ra…

    2023年4月2日
    00
  • 运行的第一个Django

    2022-09-24 创建了一个Django项目后,进行测试,输入指令: python manage.py runserver 出现了如下问题:      我还想着,Django模块通过安装“pip install django”导入了好几遍,尝试了几次都是这样。后来发现,是虚拟环境中没有Django模块的文件夹。之后,将之前下载解压的Django文件夹放入…

    2023年4月2日
    00
  • python中组合数据的操作

    2022-09-26 组合数据类型:  列表     字典     集合     元组 拷贝:     deep(深拷贝)     shallow(浅拷贝)     区别:例如,文件中有一个指针指向另一块存储空间,如果是深拷贝则将指向的那一块文件内容也全部拷贝,如果是浅拷贝那么不需要将指针指向的内容进行拷贝,只拷贝第一层级的内容。指针指向的内容属于第二层级。…

    Python开发 2023年4月2日
    00
  • 学习笔记——Django项目中的F对象,Q对象,聚合函数,排序

    2022-09-30 F对象:   在shell中是用于两个有关联的属性之间的查询。 使用实例: 查询书籍表中阅读量大于评论量的记录 前提,进入pycharm,进入虚拟环境,进入shell环境。 首先,要使用F对象,那么就需要导入F对象 from django.db.models import F 后进行查询 BookInfo1.objects.filter…

    Python开发 2023年4月2日
    00
  • 类装饰器

    2022-09-18  类装饰器的定义:   使用一个类作为一个装饰器,在类里面对已有函数添加其他功能。 类装饰器使用的一个实例: 1 class MyDecorator(object): 2 def __init__(self,func): 3 self.__func = func 4 5 def __call__(self, *args, **kwarg…

    2023年4月2日
    00
  • 在浏览器中Django项目的静态文件打不开的一个原因

    2022-09-27 问题描述:   编写Django代码时,设置了一个“static”文件夹,在里面放置了一张图片。在“setting”中设置了静态文件在服务器中的存储路径,But 浏览器运行时,显示    找不到,就很奇怪。 问题原因:   之后,在看了一眼代码,发现了一个问题,它是源于一个拼写的错误,如下   发现这个存储位置的拼写少了一个”s”。 其…

    2023年4月2日
    00
  • 装饰器第1天

    2022-09-11 装饰器 装饰器的定义:   装饰器是一种特殊的闭包函数,该闭包函数中有且只有一个参数,且该参数是一个函数类型。 装饰器的作用:   装饰器可以给已有函数添加新的功能。 装饰器的特点(区别与其他函数):   (1)它不会改变原来函数调用的方式。   (2)它不会改变原来函数的源代码。   (3)可以给原来的函数添加新的功能。 与装饰器配合…

    2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部