在Django2.0开发环境中(对应的Python版本为3.7),有两种自定义标签方式,具体做法如下:
指定名称模式
1,在主工程app外新建一个app(通过执行命令python manage.py startapp app_name)
2,在新的app(非主工程app,例)新建一个叫templatetags的文件夹,此处标签名称必须为templatetags,如果为其他名称则该app内模板文件在加载标签时会出现错误。
3, 在templatetags文件夹中新建python文件,定义相应的标签函数,同时添加对应的标签装饰词
范例
1,定义了一个名称为tag_chengfa的模板标签,用于乘法运算
@register.simple_tag
def tag_chengfa(x,y):
return x*y
2,定义了一个名称为cute的模板标签,用于替换字符串中出现的空格
@register.filter(name='cute')
def cut(value, arg):
return value.replace(arg, '')