百木园-与人分享,
就是让自己快乐。

学习笔记——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\'%}”表示模块继承。

 


来源:https://www.cnblogs.com/isDaHua/p/16767930.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » 学习笔记——Django项目中的过滤器,模板继承

相关推荐

  • 暂无文章