自定义Template过滤器
时间转换过滤器(将时间转换为天,小时,分钟,), 正则匹配过滤器
在APP下创建目录templatetags, 然后创建一个filter.py
import re from django import template from datetime import datetime register = template.Library() @register.filter def url_filter(url): regex = re.compile(r"^(http|https).+\.(com|cn|org)/") result = regex.match(url) if result: return result.group() @register.filter def time_filter(time): seconds = datetime.now().timestamp() - time.timestamp() m, s = divmod(seconds, 60) h, m = divmod(m, 60) d, h = divmod(h, 24) if d > 0: return ("%s天%s小时" %(int(d), int(h))) elif h > 0: return ("%s小时%s分钟" %(int(h), int(m))) else: return ("%s分钟" %int(m))
在HTML模板中使用
{% load filter %}
{{ new.href|url_filter }}
{{ new.add_time|time_filter }}
效果图: