【问题标题】:django-crispy-forms: Align button with fields verticallydjango-crispy-forms:将按钮与字段垂直对齐
【发布时间】:2016-12-19 14:14:12
【问题描述】:

我一直在努力使用 django-crispy-forms 在一行中获取我的表单(包括按钮)。

我最终找到了解决方案,但我决定将问题与答案一起发布,以防其他人面临同样的问题。

forms.py 中的代码如下:

class SearchForm(forms.Form):
    [...]

    def __init__(self, *args, **kwargs):
        super(SearchForm, self).__init__(*args, **kwargs)
        self.helper = FormHelper()
        self.helper.form_class = 'form-inline'

        self.helper.layout = Layout(
                    Field('From', placeholder='From'),
                    Field('To', placeholder='To'),
                    Field('Date', placeholder='Date'),
                    ButtonHolder(Submit('submit', 'Search', css_class='btn btn-primary'))
        )

但按钮出现在第二行。

我尝试了替代方法

self.helper.form_class = 'form-horizontal'

但没有区别。

【问题讨论】:

    标签: django-forms django-crispy-forms


    【解决方案1】:

    我找到了一个基于this post in github的解决方案。

    即使用FormActions对象适配Layout:

    self.helper.layout = Layout(
                Field('From', placeholder='From'),
                Field('To', placeholder='To'),
                Field('Date', placeholder='Date'),
                FormActions(ButtonHolder(Submit('submit', 'Search', css_class='btn btn-primary')))
            )
    

    并且所有字段和按钮都完美对齐:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-12
      • 2013-02-07
      • 1970-01-01
      • 2021-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多