Как разместить в ряд поля Django Forms?
Есть поля в джанго-формах:
class TimeZoneForm(forms.Form):
country = forms.ChoiceField(label='', choices=countries, widget=forms.Select(attrs=
{'class': 'form-control mr-mb-2', 'name': 'country'}),)
timezone = forms.ChoiceField(label='', choices=timezones, widget=forms.Select(attrs=
{'class': 'form-control mr-mb-2', 'name': 'timezone'}),)
HTML код:
<div class="form">
<form action="/" method='POST' class="form-group">
{{ form.as_p }}
{% csrf_token %}
<button class="btn btn-outline-success" type="submit">OK</button>
</form>
</div>
Дело в том, что на странице поля формы располагаются один под другим, а мне нужно, чтобы они были в один ряд. Есть ли способ это сделать ?
Спасибо
Вы применяете опцию рендера form.as_p, которая преобразуется в такой вид
<div>
....
<p><label for="id_country"></label>
<input type="checkbox" name="country" id="id_country"></p>
<p><label for="id_timezone"></label>
<input type="checkbox" name="timezone" id="id_timezone"></p>
....
</div>
Вам необходимо избавиться от тегов <p>, которые переводят на новую строку.
Один из способов - это обработка вручную, не прибегая к методам таким как as_p, as_table, as_ul
<div class="form">
<form action="/" method='POST' class="form-group">
{{ form.country }}
{{ form.timezone }}
{% csrf_token %}
<button class="btn btn-outline-success" type="submit">OK</button>
</form>
</div>