首页 > 代码库 > Django 自定义html 标签
Django 自定义html 标签
自定义一个html标签 参考:https://docs.djangoproject.com/en/dev/howto/custom-template-tags/ 第一步:在 app下创建templatetags包,也就是本案例的bbs下创建templatetags包如下: bbs/templatetags/__init__.py bbs/templatetags/poll_extras.py 第二步:编写poll_extras.py文件,编写成你需要的标签,下面编写的是,把数据转为大写字母 from django import template ###必须应用template模块 register = template.Library() @register.filter def test_tag(data): print ‘tag::: ‘ ,data return data.upper() 第三步:在引用的html文件中使用 {% load poll_extras %} 第四步:在html中应用这个标签,如下: 把作者名称改为大写,它不能解析html内容 <a>{{ article.author.name|test_tag }}</a> ## 这中调用方式用于@register.filter装饰器, 如果是@register.simple_tag这种装饰器就需要用下面的调用方法,且这中装饰器可以解析html格式 <a>{% test_tag2 article.author.name %}</a>
from django.utils.safestring import mark_safe from django import template ###必须应用template模块 register = template.Library() @register.filter def test_tag(data): print ‘tag::: ‘ ,data return data.upper() @register.simple_tag def test_tag2(data): print ‘tag::: ‘ ,data #return data.upper() a = ‘<h1>%s</h1>‘ % data ##@register.simple_tag可以解析html返回,, return mark_safe(a) ##在新版的django中,如果需要用@register.simple_tag解析html文本,需要额外添加 : from django.utils.safestring import mark_safe 这个make_safe模块才可以 如果是@register.simple_tag这种装饰器就需要用下面的调用方法,且这中装饰器可以解析html格式 <a>{% test_tag2 article.author.name %}</a>
本文出自 “奋斗吧” 博客,请务必保留此出处http://lvnian.blog.51cto.com/7155281/1858878
Django 自定义html 标签
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。