Python 更改多个表单大小Django引导

Python 更改多个表单大小Django引导,python,html,css,django,twitter-bootstrap,Python,Html,Css,Django,Twitter Bootstrap,我正在尝试使用CSS设计Django表单的样式。我想要它,这样我可以在一行上有多个字段和不同的宽度,但也有一些字段可以拉伸容器的整个宽度。我发现这很难做到 我尝试过使用Bootstrap的网格系统,但我不能指定在哪个表单元素周围放置哪个div。我还尝试将我在这里看到的一些答案用于TextAreas,并指定行数和列数,如下所示: widget=forms.Textarea(attrs={'cols': 8, 'rows': 1}) 我想知道是否有一种方法可以在特定输入周围添加div,而不必在模板

我正在尝试使用CSS设计Django表单的样式。我想要它,这样我可以在一行上有多个字段和不同的宽度,但也有一些字段可以拉伸容器的整个宽度。我发现这很难做到

我尝试过使用Bootstrap的网格系统,但我不能指定在哪个表单元素周围放置哪个div。我还尝试将我在这里看到的一些答案用于TextAreas,并指定行数和列数,如下所示:

widget=forms.Textarea(attrs={'cols': 8, 'rows': 1})
我想知道是否有一种方法可以在特定输入周围添加div,而不必在模板中使用大量if-else语句


我可以指定一个已经包含div的模板,但我非常确定我只能使用一个表单模板?

您可以定义自己的宽度:5个单元格的宽度为20%,7个单元格的宽度为14,28%

.col-xs-20, .col-sm-20, .col-md-20,.col-lg-20,/* 5 Cells */{
    position: relative;
    min-height: 1px;
    padding-right: 10px;
    padding-left: 10px;
}
.col-xs-20{
    width: 20%;
    float: left;
 }
.col-sm-20{
  width: 20%;
  float: left;
}
.col-md-20{
  width: 20%;
  float: left;
}
.col-lg-20{
  width: 20%;
  float: left;
}

解决此问题的最简单方法是使用,它支持呈现与引导兼容的布局。您可以在表单的帮助器中轻松定义div及其类。下面是一个在一行中包含两个文本字段的示例:

class SampleForm(Form):

    name = CharField()
    surname = CharField()

    helper = FormHelper()
    helper.layout = layout(
        Div(
            Div('name', css_class='col-sm-6'),
            Div('surname', css_class='col-sm-6'),
            css_class='row'
        )
    )