如何創建一個簡單的過濾器,這樣從字典中提取值:Django的:自定義模板過濾
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)
..但它不起作用! (它給我以下錯誤:'功能'對象沒有屬性'過濾器')
任何想法?
你的字典('PHANTOM_TYPE_CHOICES')不是字典,而是一元組。因此沒有關鍵。你想用你的過濾器做什麼? – arie 2012-08-06 17:23:22
我試圖在模板中使用相應的索引打印PHANTOM_TYPE_CHOICES的任何值..因爲在我的數據庫中,我只記住了索引而不是描述。 – Kreshnik 2012-08-06 17:46:29
如果你需要一個像訪問你的選擇元組的字典,你應該先將它轉換爲:'dict(PHANTOM_TYPE_CHOICE)'。現在你應該能夠通過索引獲取你的值。但是,如果您只需要某些實例的值['get_FOO_choices()'](https://docs.djangoproject.com/en/dev/ref/models/instances/#django.db.models.Model.get_FOO_display)足夠。 – arie 2012-08-07 07:03:32