【发布时间】:2010-12-05 18:09:09
【问题描述】:
我有一个模型有很多选择,在数据库中配置如下。
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')
更新2 因此,上面的代码有效,您可以通过使用 colour.1 / colour.2 等来分别访问每个值的值。
完整答案见下文
【问题讨论】:
标签: django django-models django-templates