Django 1.4 Как настроить элементы внутри MultipleChoiceField - PullRequest
0 голосов
/ 01 февраля 2020

Я установил виджет на MultipleChoiceField с помощью:

self.fields['field_1'] = forms.MultipleChoiceField(
            choices=[(c.name, str(c)) for c in customers],
            widget=forms.CheckboxSelectMultiple()
        )

Это в конечном итоге выплевывает некоторые html, где каждый choice в choices получает <input> в <label> в <li> в <ul>.

Я бы хотел установить класс для каждого <li>. Мне нужно убрать точку маркера, установленную рядом с каждым <li>, изменить размер шрифта, возможно, даже установить стиль флажка. Достижимо с помощью селекторов CSS, но это производит впечатление запаха кода.

Как я могу это сделать? Спасибо!

1 Ответ

0 голосов
/ 01 февраля 2020

widget=forms.SelectMultiple(attrs={'class': 'yourclassname multi-select'}

Я думаю, что это добавит класс как в

<ul class="yourclassname multi-select">
   <li>...</li>
</ul>

, затем добавит css к этому имени класса как, и чтобы удалить точку маркера, вы должны просто добавить это

.yourclassname 
{
  list-style: none;
}

Спасибо! Надеюсь, поможет.

...