将按钮附加到django-crispy-forms中的默认布局

时间:2015-09-28 15:07:34

标签: django django-crispy-forms

我想为多个表单编写表单助手。默认情况下,所有字段都是正确呈现的,我想要做的唯一更改就是在最后添加提交按钮,如下所示:

class MyFormHelper(FormHelper):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        // Other initialization code here
        self.layout = Layout(
            // default, inherited layout here
            Submit('submit', 'Submit', css_class='btn btn-primary')
        )

但是,我不知道是否有任何方法可以显式构建默认布局。我知道我可以明确指定要在布局中呈现的所有字段,但是我不想将表单助手连接到一个表单。

我也试过

        self.layout.append = Submit('submit', 'Submit', css_class='btn btn-primary')

self.layout此时似乎是None

1 个答案:

答案 0 :(得分:3)

您正在寻找add_input FormHelper方法。 See the code here, lines 153 and 275

class MyFormHelper(FormHelper):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        // Other initialization code here
        self.add_input(Submit('submit', 'Submit', css_class='btn btn-primary'))