我有一个带有选择字段的模型类,其可能的值定义为常量,如https://docs.djangoproject.com/en/3.0/ref/models/fields/#choices中所建议的那样
class Student(models.Model):
FRESHMAN = 'FR'
SOPHOMORE = 'SO'
JUNIOR = 'JR'
YEAR_IN_SCHOOL_CHOICES = [
(FRESHMAN, 'Freshman'),
(SOPHOMORE, 'Sophomore'),
(JUNIOR, 'Junior'),
]
year_in_school = models.CharField(
max_length=2,
choices=YEAR_IN_SCHOOL_CHOICES,
default=FRESHMAN,
)
在常规 Python 代码中(例如在视图中),我可以轻松地使用如下常量:
if my_student.year_in_school == Student.FRESHMAN:
# do something
我的问题是:我也可以在模板中做这样的事情吗?就像是
{% if student.year_in_school == Student.FRESHMAN %}
Welcome
{% endif %}
...如果我在模板中硬编码值“FR”,这可行,但这违背了常量的目的......
(我正在使用 Python 3.7 和 Django 3.0)