Я конвертирую простой список флажков в Django форму.
Вот опросный флажок:
<input type="checkbox"><label>I like bourbon.</label><br>
<input type="checkbox"><label>I like whisky.</label><br>
<input type="checkbox"><label>I like beer.</label><br>
![html check box survey form](https://i.stack.imgur.com/RjiK1.png)
Конечно, Джордж Торогуд выбрал бы все три. Моя бабушка не выбрала бы ни одного из них. Django не имеет поля флажка, и я прочитал, что должен использовать BooleanField. Это код формы:
class Form_BoissonSurvey(forms.Form):
c0 = forms.BooleanField(required=False, label='I like bourbon.')
c1 = forms.BooleanField(required=False, label='I like whisky.')
c2 = forms.BooleanField(required=False, label='I like beer.')
И он представлен в виде шаблона. html Форма как:
{{ form_boisson_survey.as_p }}
Но это выглядит так:
![attempt at a Django checkbox survey form](https://i.stack.imgur.com/WIGyl.png)
Я потратил кучу времени, пытаясь установить флажки слева и разделить их без больших промежутков между ними.
Как я могу получить флажки слева и сделать так, чтобы строки разделялись br вместо p ?? Т.е. чтобы это выглядело как обычный список из трех вещей, из которых может быть выбрано любое их число?
Хмм, похоже, мне нужно проверить, что хотя бы одна проверена.
Django контрольные списки, но флажки должны быть слева:
![enter image description here](https://i.stack.imgur.com/7yyLS.png)
![enter image description here](https://i.stack.imgur.com/6Nq6w.png)
РЕШЕНИЕ. Согласно комментарию Роба, приведенному ниже, установка Crispy Forms, а затем запуск формы через «хрустящий» фильтр сместили флажки в правильную сторону:
{% load crispy_forms_tags %}
...
{{ form_boisson_survey|crispy }}
Результат по желанию :
![enter image description here](https://i.stack.imgur.com/FvkYK.png)
Грабите, если вам нужны точки или все, к чему ведет этот сайт, не стесняйтесь вырезать и вставлять, и я выберу это в качестве решения .