我使用Django的脆皮形式与Twitter的引导,以及我在与我的定制形式为多行和列的一些问题。 一个例子问题是,当我尝试的形式分为两列没有任何反应:
class SomeForm(ModelForm):
helper = FormHelper()
helper.layout = Layout(
Column('field1', 'field3'),
Column('field2', 'field4'),
)
)
class Meta:
model = Model
综观HTML输出,我看到有所述<div class="formColumn">
但形式被显示在一个单一的塔。 也许这是一个CSS问题? 我使用的引导2.1。
谢谢maraujo。
我已经使用div标签和引导文档来实现这一点: http://twitter.github.com/bootstrap/scaffolding.html
class SomeForm(ModelForm):
helper = FormHelper()
helper.layout = Layout(
Div(
Div('field1', css_class='span6'),
Div('field3', css_class='span6'),
css_class='row-fluid'),
)
class Meta:
model = Model
对于bootstrap3取代span6
与col-xs-6
http://getbootstrap.com/css/#grid
小2018更新由martinpaulucci了答案:
对于引导4和最新的Django脆皮形式1.7.2使用:
class SomeForm(ModelForm):
helper = FormHelper()
helper.layout = Layout(
Div(
Field('field1', wrapper_class='col-md-3'),
Field('field3', wrapper_class='col-md-9'),
css_class='form-row')
)
class Meta:
model = Model
在div标签代替使用领域标签避免不必要的另一个DIV的包装。 要提高,你可以换成你自己的脆皮形式行,如果你要使用多行:
class Row(Div):
css_class = "form-row"
然后使用:
class SomeForm(ModelForm):
helper = FormHelper()
helper.layout = Layout(
Row(
Field('field1', wrapper_class='col-md-3'),
Field('field3', wrapper_class='col-md-9')
)
)
class Meta:
model = Model