Форум сайта python.su
Исходная проблема была в следующем: нужно было поместить label и checkbox данного поля в одну строчку. По умолчанию Boolean Field отрисовывается следующим образом:
<label>Название</label> <input .... />
Офлайн
ИМХО, годным решением в случае с бутстрапами будет не использовать родной джанговский рендеринг форм, а запилить свой, красивый и кошерный. Всё просто. Как-то так:
1. Создаем шаблон в файле form_render.py
<form class="form-horizontal" role="form" method="post">{% csrf_token %} <fieldset> <legend>{{ legend }}</legend> {% for field in form %} <div class="form-group"> {% if not field.is_hidden %} <label class="col-lg-2 control-label">{{ field.label_tag }}</label> {% endif %} <div class="col-lg-10"> {{ field }} {{ field.errors.0 }} </div> </div> {% endfor %} <div class="form-group"> <label class="col-lg-2 control-label"></label> <div class="col-lg-10"> <input type="submit" class="btn btn-primary" value="Отправить" > </div> </div> </fieldset> </form>
{% include "form_render.html" with form=form legend="Новое сообщение" %}
Офлайн
Спасибо за решение - не знал про include, буду восполнять этот пробел в документации.
Хотел спросить про вот этот момент :
FishHookМы должны создать не form_render.py а form_render.html и поместить его в темплейты?
1. Создаем шаблон в файле form_render.py
Офлайн
SoTРазумеется html и естественно в шаблонах. У меня ошибка.
Мы должны создать не form_render.py а form_render.html и поместить его в темплейты?
Офлайн
FishHook
2. Юзаем
Офлайн
dezinfo
я https://github.com/kmike/django-widget-tweaks/ юзаю
а вообще есть crispyform, django-bootsrtap и тп
Офлайн
dezinfo
Как применить стиль для самих полей формы {{ field }}?? Например что бы class = ‘form-control’
field.widget.attrs["class"] = "form-conrol"
Офлайн