我有一堆模型,其中有一些選項,這些選項在DB中配置如下。使用模板標籤中的模型選擇
COL_CHOICES =(
(1, 'Not Applicable'),
(2, 'Black'),
)
COL2_CHOICES =(
(1, 'Green'),
(2, 'Blue'),
)
等
我要顯示所有這些選項的菜單在我的模板,(用作菜單)。由於這些選項存儲在代碼中,因此查詢數據庫沒有意義。什麼是最好的方式來使這些可用?
他們應該可以在所有頁面上使用,模板標籤將是要走的路。然而,模板標籤看起來像什麼?
更新 我曾嘗試FFQ模板標籤:
class OptionsNode(Node):
def __init__(self, colours, varname):
self.colours = colours
self.varname = varname
def render(self, context):
context[self.varname] = self.colours
return ''
def get_options(parser, token):
return OptionsNode(COLOUR_CHOICES, 'colour')
UPDATE2 所以上面的代碼工作,並通過使用colour.1/colour.2等每個訪問值值。
請參見下面的完整的答案
丹尼爾,感謝的響應,這會是一個看法?通用視圖又如何,如果你需要它們在所有頁面上可用? – ismail 2009-10-11 13:14:27
查看我上面的回覆。 – 2009-10-11 13:46:05
感謝您的回覆。當我嘗試返回COL_OPTIONS時,我得到的是模板中的一個元組,並且我不能單獨訪問每個選項或循環訪問它。 – ismail 2009-10-11 14:12:05