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 %}
コンストラクタの最後に 'super()'を呼び出す – yedpodtrzitko
私はPython 3.xを使っていますので、 'super().__ init __()'でsuperメソッドを呼び出そうとしましたが、これは正しい方法です....もしそうでなければ、正しい引数でそれを呼び出す方法を私に教えてください:) – harshityadav95
ちょうど...それはここにあるように取るが、コンストラクタの最後に置く。 – yedpodtrzitko