django如何自定义jinja2的tag与filter-创新互联
这篇文章主要为大家展示了“django如何自定义jinja2的tag与filter”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“django如何自定义jinja2的tag与filter”这篇文章吧。
目前成都创新互联公司已为上千多家的企业提供了网站建设、域名、网站空间、成都网站托管、企业网站设计、蕲春网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。django默认使用jinja2模版。
jinja2模版自带各类filter与tag,也可以自定义。
主要格式
{{ variable }}
{{ variable|filter:arg}}
{% tag %}
官网http://jinja.pocoo.org/docs/2.10/
自定义过程如下:
1. 在app目录下创建固定包名templatetags,并创建py文件
2. mytags.py
#/usr/bin/env python3 from django import template register=template.Library() @register.filter() def myfilter_name1(x,y): return x+y @register.filter() def myfilter_name2(x): return x*x @register.simple_tag() def mytag_name1(x,y): return x+y
用@register.filter()装饰filter
用@register.simple_tag()装饰tag
注意需要重启服务载入
3. html文件
{% load mytags %}Title 案例filterori:{{ n }}{{ n|myfilter_name1:5 }}{{ n|myfilter_name2 }}案例 simple tag{% mytag_name1 3 5 %}
首行{% load mytags %},即load py的文件名,tag即可直接使用
filter 格式 {{ 变量|filter:参数 }}
simpletag格式 {% tag 参数 参数 %}
功能上都可实现一些同样的操作。
部分场景filter更好使用如 {% if n|filter >10 %}
4. 页面
以上是“django如何自定义jinja2的tag与filter”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享标题:django如何自定义jinja2的tag与filter-创新互联
转载来源:http://pwwzsj.com/article/dddgsp.html