#django #twitter-bootstrap #bootstrap-4 #django-forms #django-crispy-forms
#джанго #twitter-bootstrap #начальная загрузка-4 #django-forms #django-crispy-forms
Вопрос:
У меня проблема с bootstrap в моих формах django. В формах у меня есть этот код:
make = forms.ChoiceField(choices=make_choices)
make.widget.attrs.update({'class': 'form-control'})
И в учебниках я видел, что этого должно быть достаточно, чтобы отобразить правильное поле выбора начальной загрузки.
Но в моем случае это выглядит так: Пожалуйста, обратите внимание:
- отсутствующая стрелка, указывающая на фактический выпадающий список справа
- серое поле выбора недостаточно широкое, или, скорее, поле выше слишком широкое?
- ярлык «Make:» также не похож на надлежащий ярлык начальной загрузки.
Я проверил несколько руководств, но во всех из них было достаточно добавить это «{‘class’: ‘form-control’}» в attrs. Я также экспериментировал с хрустящими формами django, но они также были не совсем правильными. Чего мне не хватает? Что я сделал не так?
Комментарии:
1. настройка напрямую тоже работает: make = forms. Поле выбора (выбор = make_choices, виджет = формы. Выберите(attrs={‘class’:’form-select’}),)
Ответ №1:
по состоянию на документы bootstrap 5 https://getbootstrap.com/docs/5.0/forms/select/#default вы должны использовать .form-select
class для запуска пользовательских стилей для <select>
элементов, поэтому он должен быть
make.widget.attrs.update({'class': 'form-select'})
.form-control
класс используется для таких элементов, как <input>
и <textarea>
.