簡體   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