Я использую поле выбора модели в одной из моих форм, и я хотел бы добавить класс CSS для каждой опции на основе значения атрибута модели.
Есть ли простой способ?сделать это?
Любой совет приветствуется.
Спасибо.
Два варианта:
Вам придется визуализировать выделение в шаблоне самостоятельно, повторяя {{form.field_name.choices}} и генерируя класс.
Создайте собственный виджет, который расширяет django.forms.widgets.Select и переопределяет его метод render_option ().Например, как это реализовано, смотрите render_option () в источнике django .Используйте виджет в форме (как виджет поля).
Вы можете увидеть другой пример чего-то похожего (в этом случае отключенные опции) в фрагментах django: Разрешить отключение опций в выбранном виджете .
ИМО, второй вариант более чистый: его можно использовать многократно и не нужно связываться с шаблонами.