繁体   English   中英

Crispy 形式的水平视图和提交按钮不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM