Eri*_* O. 5 python enums jinja2 flask
我的 models.py 中有这个类。
class Size(Enum):
ONE = 1
TWO = 2
Run Code Online (Sandbox Code Playgroud)
在我的表单中,我想要该字段的预定义选择,这就是我使用 Enum 类的原因:
size = SelectField('Shoe size', choices=[(name, member.value) for name, member in ShoeSize.__members__.items()])
Run Code Online (Sandbox Code Playgroud)
数据库中存储的值为 ONE、TWO 等。在 Jinja 模板中显示时{{ shoe.size }},显示的是成员名称。如何在我的 jinja 模板中显示成员值?
简而言之,我想要1显示而不是ONE。类的 repr 函数会更好。
您可以教授有关您的课程的模板:
from enum import Enum
from jinja2 import Template
class Size(Enum):
ONE = 1
TWO = 2
template = Template('{{ Size[db_value].value }} == {{ db_value }}')
template.globals['Size'] = Size
template.render(db_value='ONE')
Run Code Online (Sandbox Code Playgroud)
编辑:有人将此标记为重复,我不明白,因为链接的答案没有回答 jinja2 模板问题