Настройка средства визуализации radioselect по умолчанию

#django #default #itemrenderer

#django #По умолчанию #средство визуализации элементов

Вопрос:

У меня есть следующая форма с параметрами выбора radioselect :

 jobStatus = forms.ChoiceField( widget=forms.RadioSelect())
  

Однако оно отображает переключатели в <ul> <li> .. </li></ul> тегах.

Не могли бы вы предложить мне какой-либо способ отображения единственного ввода radiobutton?

Спасибо

Ответ №1:

Это хорошее руководство по переопределению средства визуализации виджета выбора радио.

https://wikis.utexas.edu/display/~bm6432/Django-Modifying RadioSelect Widget to have horizontal buttons

В принципе, создайте класс, который наследуется от форм.Класс RadioFieldRenderer и переопределите метод визуализации. Затем в вашей форме при настройке виджета используйте аргумент средства визуализации, чтобы присвоить средству визуализации ваш пользовательский класс средства визуализации.

При этом я обычно просто меняю внешний вид с помощью CSS

Комментарии:

1. Работает идеально, спасибо! Существует ли какое-либо общее соглашение, в соответствии с которым такого рода пользовательские средства визуализации должны быть в дереве проекта?

2. Я думаю, это будет зависеть от того, планируете ли вы повторно использовать средство визуализации в других формах. Если нет, я бы поместил его в тот же forms.py файл в виде формы, в противном случае с остальными вашими фрагментами «util» или «misc» и импортируйте его оттуда.