2017-01-14 3 views
0

Вертикальная компоновка в хрустящей форме работает по умолчанию, но горизонтальный макет для формы и кнопки отправки не появляется .. Я думаю, что есть некоторая проблема с __init__, но компилятор показывает, что все в порядкеГоризонтальный вид и кнопка отправки в хрустящей форме Не работает

views.py

class sessioncreate(LoginRequiredMixin,CreateView): 

    model=Sessions 
    #fields=['title','abstract','track','speaker'] 
    form_class=SessionForm 

    def form_valid(self, form): 
     form.save(); 
     return HttpResponseRedirect('/sessions') 

form.py

from django.forms import ModelForm 
from app.models import Sessions 
from crispy_forms.helper import FormHelper 
from crispy_forms.layout import Submit 

class SesionsForm(ModelForm): 

    class Meta: 
     model=Sessions 
     fields=['title','abstract','track','speaker'] 

    def __init__(self, *args, **kwargs): 
     super(SessionForm, self).__init__(*args, **kwargs) 
     self.helper=FormHelper() 
     self.helper.form_class = 'form-horizontal' 
     self.helper.label_class = 'col-sm-offset-1 col-sm-2' 
     self.helper.field_class = 'col-sm-8' 
     self.helper.add_input(Submit('submit', 'Submit')) 

session_form.html

{% extends 'layout.html' %} 

{% load crispy_forms_tags %} 

{% block content %} 
<form method="post"> 
    {% csrf_token %} 
    {% crispy form %} 
</form> 
{% endblock %} 
+0

положил вызов 'super()' в конце конструктора – yedpodtrzitko

+0

Я использую Python 3.x, поэтому попробовал вызов супер-метода с помощью 'super() .__ init __()' это правильный метод .... если да, не можете ли вы сказать мне, как назвать это с правильным аргументом no.of :) – harshityadav95

+0

просто ... возьмите его так, как он есть здесь, но поместите его в конец конструктора. – yedpodtrzitko

ответ

0

Я тоже прошел этот курс MVA и столкнулся с той же проблемой. Я переключил версию бутстрапа на 4 вместо 3 в файл settings.py и сделал несколько изменений в файле forms.py.

settings.py

CRISPY_TEMPLATE_PACK = 'bootstrap4' 

forms.py

def __init__(self, *args, **kwargs): 
    super(SessionForm, self).__init__(*args, **kwargs) 
    self.helper = FormHelper() 
    self.helper.form_group_wrapper_class = 'row' 
    self.helper.label_class = 'offset-md-1 col-md-1' 
    self.helper.field_class = 'col-md-8' 
    self.helper.add_input(Submit('submit', 'Submit')) 

Не, вероятно, ответ вы хотите, но я просто хотел поделиться тем, что работал для меня.

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