django-模板中的过滤器
django-模板中的过滤器
过滤器的作用
- 对django后台返回到模板中的数据、进行处理
过滤器的语法
值 | 过滤器 : 参数
模板中常见的过滤器,内置过滤器在 defaultfilters.py
中可以查看
-
date
- date : 'Y-m-d H:i:s'
-
length : 获取长度
-
length_is : 判断长度
-
random : 随机返回一个元素,被过滤的是 元组 或者 列表
-
default : 设置默认值
-
filesizeformat : 格式化文件大小
自定义过滤器 (重点)
-
在项目的某一个
应用
下、新建一个templatetags
包 -
在
templatetags
包下 新建一个extra_filter.py
-
在
extra_filter.py
自定义自己的过滤器
from django.template.library import Library
register = Library()
@register.filter(is_safe=True)
def ext(value, arg=None):
exts = ["doc", "docx", "exe", "pdf", "ppt", "rar", "txt", "xlsx", "zip"]
return value if value in exts else "unknow"
- 在
settings.py
中 激活templatetags
INSTALLED_APPS = [
....
'resource.templatetags',
]
-
在 使用 过滤器的 模板页面中, 添加
load
标签
{% load extra_filter %}
-
匹配完毕,正常使用自定义的过滤器