django template 自定义 filter

问题http://v2ex.com/t/68761#reply7

解决方案:自定义了一个filter(filter类似于shell的管道)

[url]http://djangobook.py3k.cn/2.0/chapter09/

[/url]具体步骤:

1在app目录建templatetagsdir,包括一个__init__.py和tags模块文件(eg:mytags.py)

2mytags.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_

在模板中使用

开头添加{%loadmytags%}

<td>{{log.time_used|format:"%.2f"}}</td>

<td>{{log.response.headers|get_from_dict_by_key:"content-type"}}</td>

相关推荐