Django内置的过滤器 

05-自定义过滤器及自定义模板标签

 

一、代码布局

- app目录下的名为`templatetags`,的文件夹,必须叫这个名字。这个文件夹必须是一个python的包,这个文件夹下一定有一个`__init__.py`的文件
- 自定义的模板标签,或模板过滤器就放在这个包下的python模块中(python脚本文件)。
- app必须在settings中被注册

05-自定义过滤器及自定义模板标签

注意:templatetags这个目录名字是固定的,而里面的模块名是自定义的.

 

二、自定义过滤器的例子(转换性别过滤器):

05-自定义过滤器及自定义模板标签


 

05-自定义过滤器及自定义模板标签

 05-自定义过滤器及自定义模板标签

 

在模板中使用

1. load标签,引入自定义的过滤器模块,也就是templatetags包里的那个python文件

{% load teacher_filters %}
......
<td>{{ student.sex|my_male }}</td>

05-自定义过滤器及自定义模板标签


 

 05-自定义过滤器及自定义模板标签

 

传入两个参数例子

05-自定义过滤器及自定义模板标签

05-自定义过滤器及自定义模板标签

 

 

 自定义过滤器命名

05-自定义过滤器及自定义模板标签05-自定义过滤器及自定义模板标签

 

 

 

三、自定义模板标签

在自定义标签中,使用当期模板中的上下文变量 context

05-自定义过滤器及自定义模板标签


 

 05-自定义过滤器及自定义模板标签

 

四、自定义模板标签用装饰器注册

05-自定义过滤器及自定义模板标签

 

四、包含标签

通过渲染另外一个模板展示数据。

05-自定义过滤器及自定义模板标签


05-自定义过滤器及自定义模板标签05-自定义过滤器及自定义模板标签

 

包含标签上下文管理

05-自定义过滤器及自定义模板标签

 -------------------完

相关文章:

  • 2021-06-07
  • 2021-06-12
  • 2022-02-09
  • 2022-02-09
  • 2022-12-23
  • 2021-07-10
  • 2021-09-21
  • 2021-12-03
猜你喜欢
  • 2021-06-26
  • 2021-12-06
  • 2021-11-05
  • 2022-02-09
  • 2022-02-09
  • 2022-02-09
  • 2021-06-09
相关资源
相似解决方案