- 创建自定义的标签和过滤器的步骤
-
- 在app下创建Python Package并且要命名为templatetags
-
在templatetags下创建py文件,例如my_tags.py
- my_tags.py
1234567891011121314151617181920
from
django
import
template
from
django.utils.safestring
import
mark_safe
#register的名字是固定的,不可改变
register
=
template.Library()
#自定义标签
@register
.simple_tag
def
simple_tag_add(v1, v2):
return
v1
+
v2
#自定义过滤器
@register
.
filter
def
filter_multi(v1, v2):
return
v1
*
v2
@register
.simple_tag
def
my_input(
id
, arg):
result
=
"<input type='button' name='%s' style='%s' />"
%
(name, arg,)
return
mark_safe(result)
-
-
-
-
- 在html页面导入my_tags.py,并使用自定义标签和自定义过滤器
1234
{% load tags %}
{% simple_tag_add 100 200 %}
{{ 10|filter_multi:2 }}
{% my_input "my_input" " font-family: verdana, "ms song", 宋体, Arial, 微软雅黑, Helvetica, sans-serif; font-size: 12px;">
-
- 注意:
- 自定义标签不可以用在{% if %} {% endif %} {% for %} {% endfor %} 语句中
- 自定义过滤器可以
-
{% if 10|filter_multi:30 > 100 %} {{ 10|filter_multi:30 }} {% endif %}
-
- 注意:
-
- 在html页面导入my_tags.py,并使用自定义标签和自定义过滤器
-
-
标签和过滤器
以上内容来自于网络,如有侵权联系即删除

相关文章
- 第一模块练习题
- day30_GIL与Lock
- 使用ResponseEntity进行返回json数据
- ES6入门之变量的解构赋值(二)
- 看完这篇,面试再也不怕被问 Webpack 热更新
- Android面向切面编程框架OkAspectj
- Android从零开始搭建MVVM架构(6) ———— 使用玩Android API带你搭建MVVM框架(初级篇)
- Android从零开始搭建MVVM架构(1)————DataBinding
上一篇: day76_10_23自定义签发token,其他drf组件
下一篇: Flutter 类抽屉效果动画实现。