У меня есть модель с кучей вариантов, которые в БД настроены, как показано ниже.
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 и т. Д. Для каждого значения соответственно.
Полный ответ см. Ниже