Django 1.11 自定义标签之后,可以不在每个html页面引用就生效吗?

如题,为了方便,我们会自定义一些django的tag, 然后按照一般的常规思路,包括某些文档上所描述的都是需要在用的页面上去引入这个tag, 如果一个项目有 几百个页面都需要用到这个tag, 那么在几百个模板页面都会引入,这确实不是一个好主意,但很多人就是这么干的。其实在Django里面可以将自定义的 tag 加入到启动中,以后再模板页面再也不需要去引入了,这样开发也方便,修改也方便。

以前的方式, 在每个模板页面都有类似的代码:
程序代码 程序代码

{%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中:



除非申明,文章均为一号门原创,转载请注明本文地址,谢谢!
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: django
相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.