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

Django {% crispy %} tag vs {{ form|crispy }} filter what's the difference?

我正在设法将背景包裹在脆皮形式中。

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

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

我正试图弄清楚如何获得一个漂亮的布局并具有功能性的HTML表单。


我知道了,

您必须将POST按钮添加到模型/表单中的Python帮助程序中,以使{% crispy form %}标记起作用。

我最初在HTML <button class="btn btn-primary" type="submit">Submit</button>中有一个提交按钮,该按钮仅适用于脆性过滤器{{ form|crispy }}

1
2
3
4
5
6
7
8
9
10
11
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'