我目前正在开发一个Django项目,我正在使用cripsy-forms格式化并与Bootstrap一起显示HTML表单。如果我允许Crispy-Forms使用默认布局顺序,它(将在大多数情况下)格式化正确的HTML布局以使用带引导程序的内联表单。
为了重新排列表单上字段的顺序,我试图利用布局助手。当我添加布局助手时,Crispy-Forms失去了它的内联标签功能,所有标签都显示在其对应的字段上方。
如何让Crispy Forms重新排序布局并仍然保留Bootstrap内联格式?
class MyEntryForm(ModelForm):
def __init__(self, *args, **kwargs):
super(MyEntryForm, self).__init__(*args, **kwargs)
self.helper = FormHelper(self)
self.helper.form_id = 'id-MyEntryForm'
self.helper.help_text_inline = True
self.helper.error_text_inline = True
self.form_show_labels = True
self.helper.form_method = 'post'
self.helper.form_action = 'submit'
self.helper.form_tag = False
self.helper.add_input(Submit('submit', 'Submit'))
self.helper.form_class = 'form-inline'
self.helper.field_template = 'bootstrap3/layout/inline_field.html'
self.helper.layout = Layout(
'field1',
'field3',
'field2',
)
答案 0 :(得分:2)
您是否尝试过使用fields
属性?生成的Form类将具有表单域in the order specified in the fields attribute。
class MyEntryForm(ModelForm):
class Meta:
model = "mymodel"
fields = ['field1', 'field3', 'field2']