2015-09-15 3 views
1

Как использовать bootstrap3 с формами django? Я могу добавить класс для метки, но не могу его ввести.Pretty forms in Django

{{ form.my_field.errors }} 
<label class="control-label" for="{{ form.my_field.id_for_label }}">My field</label> 
{{ form.my_field }} 
+0

Вы можете найти полезное [хрустящие формы] (http://django-crispy-forms.readthedocs.org/en/latest/). – Alasdair

ответ

0

В коде формы, вы можете определить класс с помощью widgets аргумента в поле формы my_field.

Например:

Допустит, есть поле name в моей форме SomeForm и мы хотим name виджета иметь некоторый CSS класса my_css_class, то сделать это, мы можем использовать Widget.attrs аргумент при создании виджет. Это добавит my_css_class в поле name.

class SomeForm(forms.Form): 
    name = forms.CharField(widget=forms.TextInput(attrs={'class': 'my_css_class'})) 
+0

Этот способ законный, но я думаю, что это не очень хорошо, потому что этот способ объединяет интерфейс с back-end. Или я не прав? – K1m

+0

Я думаю, что все в порядке, если вы это сделаете, поскольку сам Django упомянул этот метод в своих официальных документах. Проверьте это [link] (https://docs.djangoproject.com/en/1.8/ref/forms/widgets/#django.forms.Widget.attrs). Это дало вам гибкость в определении класса, используя также ваш код. –