我有一堆模型,其中有一些选项,这些选项在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