#django #default #itemrenderer
#django #По умолчанию #средство визуализации элементов
Вопрос:
У меня есть следующая форма с параметрами выбора radioselect :
jobStatus = forms.ChoiceField( widget=forms.RadioSelect())
Однако оно отображает переключатели в <ul> <li> .. </li></ul>
тегах.
Не могли бы вы предложить мне какой-либо способ отображения единственного ввода radiobutton?
Спасибо
Ответ №1:
Это хорошее руководство по переопределению средства визуализации виджета выбора радио.
В принципе, создайте класс, который наследуется от форм.Класс RadioFieldRenderer и переопределите метод визуализации. Затем в вашей форме при настройке виджета используйте аргумент средства визуализации, чтобы присвоить средству визуализации ваш пользовательский класс средства визуализации.
При этом я обычно просто меняю внешний вид с помощью CSS
Комментарии:
1. Работает идеально, спасибо! Существует ли какое-либо общее соглашение, в соответствии с которым такого рода пользовательские средства визуализации должны быть в дереве проекта?
2. Я думаю, это будет зависеть от того, планируете ли вы повторно использовать средство визуализации в других формах. Если нет, я бы поместил его в тот же forms.py файл в виде формы, в противном случае с остальными вашими фрагментами «util» или «misc» и импортируйте его оттуда.