0

我如何创建一个简单的过滤器来从这样的字典中提取值:

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')

有任何想法吗?

4

2 回答 2

1

你有没有尝试过:

register.filter('key', get)
于 2012-08-06T15:15:39.620 回答
1

在您的代码示例中,您尝试注册一个指向方法“key”的过滤器,但是该方法的名称是“get”

代替

register.filter(key)

register.filter(get)

或使用装饰器

@register.filter()
def get(d, key):
    return dict(d).get(key, '')
于 2012-08-06T15:44:55.633 回答