Django 1.11 自定义标签之后,可以不在每个html页面引用就生效吗?
By:Roy.LiuLast updated:2017-08-20
如题,为了方便,我们会自定义一些django的tag, 然后按照一般的常规思路,包括某些文档上所描述的都是需要在用的页面上去引入这个tag, 如果一个项目有 几百个页面都需要用到这个tag, 那么在几百个模板页面都会引入,这确实不是一个好主意,但很多人就是这么干的。其实在Django里面可以将自定义的 tag 加入到启动中,以后再模板页面再也不需要去引入了,这样开发也方便,修改也方便。
以前的方式, 在每个模板页面都有类似的代码:
这个 functionTag 就是自己定义的一个customize tag, 如果几百个页面都引入,痛苦吗?
改进后的方式,只需要引入一次,其他页面无需显示引入. 在django 1.9.x 以前与1.9.x 以后是不同的处理方式.
在django 1.9.x 以前,可以这样用:
你可以把这段代码加入到 urls.py 或者settings.py中。
但是在 1.9.x 以后的版本发生了变化, 看了官方文档,为了这个特殊功能,专门做了改进,标准做法就是在settings.py 中配置 。
具体配置例子如下, 记得在settings.py中:
以前的方式, 在每个模板页面都有类似的代码:
{%load functionTag%}
这个 functionTag 就是自己定义的一个customize tag, 如果几百个页面都引入,痛苦吗?
改进后的方式,只需要引入一次,其他页面无需显示引入. 在django 1.9.x 以前与1.9.x 以后是不同的处理方式.
在django 1.9.x 以前,可以这样用:
from django import template template.add_to_builtins('app.templatetags.functionTag')
你可以把这段代码加入到 urls.py 或者settings.py中。
但是在 1.9.x 以后的版本发生了变化, 看了官方文档,为了这个特殊功能,专门做了改进,标准做法就是在settings.py 中配置 。
具体配置例子如下, 记得在settings.py中:
From:一号门
Previous:Django开发注意事项,新手必看(转)
COMMENTS