我一直在努力使用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'
但没有区别。
答案 0 :(得分:0)
我找到了一个基于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')))
)
所有字段和按钮完全对齐: