一般来说,django有自带的内置标签比如{% for %}, {% if %}等等,但是除去这些如果我们想要自己自定义,也是可以实现的.
1.创建目录
如图,一般创建在app目录下,且命名一定为templatetags,随后创建xx.py用来存放自定义标签.
2.自定义标签
- 自定义模板过滤器
from django import template
from django.template.defaultfilters import stringfilter
register = template.Library() # 固定写法,register是一个template.Library实例,其中注册了所有标记和过滤器
@register.filter(name='lower')
@stringfilter
def lower(value):
return value.lower()
@stringfilter可以将传入的参数先转换成字符串,如果你省略了name参数,Django将使用函数的名称作为过滤器名称
以下是在模板中使用自定义过滤器
{% load index_tags %} # 需要导入你创建的自定义标签文件
{
{ somevariable|lower:Abc }}
- 自定义模板标签
1.简单标签
import datetime
from django import templat