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

Django内置的过滤器 

 

一、代码布局

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

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

 

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


 

 

 

在模板中使用

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

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


 

 

 

传入两个参数例子

 

 

 自定义过滤器命名

 

 

 

三、自定义模板标签

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


 

 

 

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

 

四、包含标签

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


 

包含标签上下文管理

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

posted @ 2019-03-29 21:31  放弃吧!孩纸  阅读(205)  评论(0编辑  收藏  举报