[英]Horizontal view and Submit button in Crispy form Does not work
默认情况下,脆表单中的垂直布局正在工作,但表单和提交按钮的水平布局没有出现..我认为__init__
存在一些问题,但编译器显示一切正常
视图.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')
表单.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 %}
我也参加了这个 MVA 课程并遇到了同样的问题。 我在 settings.py 文件中将引导程序版本切换为 4 而不是 3,并且在 forms.py 文件中做了一些更改。
设置.py
CRISPY_TEMPLATE_PACK = 'bootstrap4'
表格.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'))
可能不是您想要的答案,但我只是想分享对我有用的方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.