2016-01-08 4 views
0

Я пытаюсь добавить класс в поле в моей форме. Когда я проверяю визуализированный шаблон, он не добавляет класс, который я добавил.Django хрустящие формы, не добавляющие id в поле

форма:

from crispy_forms.helper import FormHelper, Layout 
from crispy_forms.layout import Field 

class OperationsCalendarForm(forms.ModelForm): 
    def __init__(self, *args, **kwargs): 
     self.helper = FormHelper() 
     self.helper.layout = Layout(
      Field('start', css_class="datetimepicker") 
     ) 

     super(OperationsCalendarForm, self).__init__(*args, **kwargs) 

    class Meta: 
     model = OperationsCalendar 
     exclude = ('creation', 'last_modified') 

form.html

{{ form|crispy }} 

я получаю:

<input class="dateinput form-control" id="id_start" name="start" type="text"> 

ответ

2

При использовании FormHelper, вам нужно использовать этот тег в шаблоне {% crispy form %} вместо это {{ form|crispy }}. И вам нужно зарегистрировать все поля в Layout, как вы делали с start. Если вы хотите все это увидеть, конечно.

+0

Спасибо за ответ. '{% crispy operations_calendar_form%}' дает мне «VariableDoesNotExist». {% crispy form%} действительно дает мне одно поле. Можно ли добавлять все поля без необходимости ссылаться на них в моих формах.py – Mantis

+0

'{% crispy operations_calendar_form%}' yes sory, здесь я имею в виду, ваше имя формы в поле зрения, поскольку я вижу, что это просто 'form'. Если вы хотите увидеть все поля, вам необходимо зарегистрировать его в 'Layout', как вы это делали с полем' start' –

+0

. Хорошо спасибо за вашу помощь. – Mantis

Смежные вопросы