给定一个模型,如
class Foo(models.Model):
class FooTypes(models.TextChoices):
OK = "F", "Ok"
BAR = "B", "FooBared!"
foo_type = models.CharField(max_length = 1,
choices = FooTypes.choices)
如何在使用FooTypes的模板中使用IF语句。OK或FooTypes。BAR(而不是硬编码“F”或“OK”等)).
比如说
{% if item.foo_type == FooTypes.OK %}
...
{% endif %}
2条答案
按热度按时间sd2nnvve1#
我不确定这是否是正确的方法,但是你可以通过上下文传递FooTypes
现在
zvokhttg2#
这是一个相当冗长的声明,为什么不在字段定义中显式地声明选项,如:
然后,您可以在每个元组的第一项上使用Django模板过滤器,这是存储在db中的名称。例如:
在模板中改变选择的显示值就像改变选择元组的第二个值一样简单。例如,从“foo”到“fooBaz”需要更改行: