Как отобразить человекочитаемое значение в HTML списка выбора?
Использование следующей модели для выбора дня недели:
class Schedule(models.Model):
DAYS_OF_WEEK = [
(0, 'Monday'),
(1, 'Tuesday'),
(2, 'Wednesday'),
(3, 'Thursday'),
(4, 'Friday'),
(5, 'Saturday'),
(6, 'Sunday')
]
day_of_week = models.IntegerField(choices=DAYS_OF_WEEK, default=0)
При отображении моделей в HTML через {{ schedule.day_of_week }} отображается целочисленное значение 0-6, а не читаемые человеком значения "понедельник-воскресенье".
Когда я просматриваю модель в панели администратора, я вижу человекочитаемые значения.
Как отобразить человекочитаемые значения в HTML?
"Человекочитаемое" значение может быть отображено с помощью get_FOO_display
, так:
{{ schedule.get_day_of_week_display }}
Вы можете выбрать генерацию списка "только дни" на лету
choices=[i[1] for i in DAYS_OF_WEEK]