Django自定义模板过滤器和标签的实现方法-创新互联
现在我们已经很熟悉Django的MTV模式了。模板(template)负责如何去展示数据,而视图(view)负责筛选出正确的数据。因此通常来说逻辑都是放到视图中的,但模板也需要一些 和表示相关的逻辑 :比如循环展示(如 {% for ... %}
)、或者以某种特定格式输出(如 {{ ...|date:'Y-m-d' }}
)等,这些功能都是靠模板的 过滤器(filters) 和 标签(tags) 实现的。
Django的模板语言包含了很多内置的过滤器和标签,设计目的是满足应用需要占位逻辑需求。但有的时候这些通用的功能满足不了你的某些需求,这时候就需要自定义过滤器和标签来实现了。
前置条件
要在Django中使用模板过滤器或标签,就首先得 注册 它们。
注册方法如下:
- 在APP中新建名为 templatetags 的目录(方便起见,教程选择了 article 这个APP)
- 在此目录中新建名为 __init__.py 的空文件,使得此目录被视作一个Python的包
- 在此目录中新建python文件(比如 my_filters_and_tags.py ),就可以在里面愉快的写代码啦
完成后的目录结构如下:
article/ __init__.py views.py models.py # 新增目录 templatetags/ __init__.py # 空文件 my_filters_and_tags.py # 即将写代码的地方 ...
当前名称:Django自定义模板过滤器和标签的实现方法-创新互联
文章分享:http://azwzsj.com/article/cohgjh.html