Django {%crispy%}标签与{{form | crispy}}过滤器有什么区别?

问题描述 投票:0回答:1

我正在尝试将背景中的脆脆形式包裹起来。

当我将标记{% crispy form %}放入HTML块中时,我的表单布局和清晰的引导程序格式(from crispy_forms.layout import Layout, Row, Columnfrom crispy_forms.bootstrap import AppendedText, InlineRadios)会正确呈现,但提交按钮不会发布到我的模型或重定向用户。

当我将标签{{ form|crispy }}放入HTML块中时,我的表单布局未呈现,但是提交按钮确实起作用并将用户输入发布到我的模型中。

我试图弄清楚如何获得一个既美观的布局具有功能性HTML表单。

django django-models django-forms django-crispy-forms
1个回答
1
投票

我知道了,

您必须在模型/窗体中将POST按钮添加到Python的帮助器中,才能使{% crispy form %}标签起作用。

我本来是HTML <button class="btn btn-primary" type="submit">Submit</button>中的一个提交按钮,该按钮仅适用于松脆的过滤器{{ form|crispy }}

class ProfileUpdateForm(forms.ModelForm):
    class Meta:
        model = Profile

    def __init__(self, *args, **kwargs):
        super(ProfileUpdateForm, self).__init__(*args, **kwargs)
        self.helper = FormHelper(self)
        self.helper.layout = Layout(AppendedText('foo','bar')
        self.helper = FormHelper(self)
        self.helper.add_input(Submit('submit', 'Submit', css_class='btn-primary'))
        self.helper.form_method = 'POST'
© www.soinside.com 2019 - 2024. All rights reserved.