django template 自定义 filter

问题 http://v2ex.com/t/68761#reply7
解决方案:自定义了一个filter( filter 类似于 shell 的管道)

[url]http://djangobook.py3k.cn/2.0/chapter09/
[/url]具体步骤:
1 在 app 目录建 templatetags dir, 包括一个__init__.py 和tags模块文件(eg: mytags.py)
2 mytags.py 中写代码
#coding=utf-8
from django import template

register = template.Library()


@register.filter(name='get_from_dict_by_key')
def get_from_dict_by_key(dict_, key):
    return dict_.get(key)


@register.filter(name='format')
def format(string_, fmt):
    return fmt % string_


在模板中使用
开头添加 {% load mytags %}

<td>{{ log.time_used|format:"%.2f" }}</td>
<td>{{ log.response.headers|get_from_dict_by_key:"content-type" }}</td>

你可能感兴趣的:(template)