jinja2 调用自定义函数

按照javaeye上的文章 用jinja2替换掉django原来自带的模板系统。

鼓弄了一个jinja2的模板调用自定义函数的一个例子

class Loader(BaseLoader):   
    is_usable = True
    env = jinja2.Environment(loader=jinja2.FileSystemLoader(settings.TEMPLATE_DIRS))
    env.template_class = Template
    #这里
    env.filters['cut_date'] = datetimeformat

    env.globals['url_for'] = urlresolvers.reverse   
    env.globals['MEDIA_URL'] = settings.MEDIA_URL


def datetimeformat(value, format='%H:%M / %d-%m-%Y'):
    return value.strftime(format)


代码很简单,注册一个jinja2 的 filters(过滤器?)env.filters['cut_date'] = datetimeformat

调用datetimeformat函数返回需要的日期格式。

你可能感兴趣的:(python,django)