如何创建一个简单的过滤器来从字典中提取值,如下所示:
PHANTOM_TYPE_CHOICES = (
(1, 'Type 1'),
(2, 'Type 2'),
)
适用于django 1.4:
我试过这个:
from django.template import Library
register = Library()
...
def get(d, key):
return d.get(key, '')
register.filter(key)
..但它不起作用! (它给我以下错误:'function'对象没有属性'filter')
有什么想法吗?
答案 0 :(得分:1)
你试过了吗?
register.filter('key', get)
答案 1 :(得分:1)
在您的代码示例中,您尝试注册指向方法“key”的过滤器,但方法的名称为“get”
替换
register.filter(key)
与
register.filter(get)
或使用装饰
@register.filter()
def get(d, key):
return dict(d).get(key, '')