2017-03-01 57 views
0

我试图使用CSS来设计我的Django窗体。我希望它能够在一行和不同宽度上有多个字段,但也有一些可以扩展容器整个宽度的字段。我发现很难做到。更改多个窗体大小Django Bootstrap

我试过使用Bootstrap的网格系统,但我不能指定哪个div放在哪个窗体元素周围。

widget=forms.Textarea(attrs={'cols': 8, 'rows': 1}) 

我想知道有没有办法,我可以添加围绕具体投入的div不:我用我在这里看到文本域与几个答案,并指定行和cols的,像这样的数量也尝试必须在模板中使用大量if else语句。

我可以指定一个模板,其中已经有div,但我确信我只能使用一个表单模板?

回答

0

您可以定义自己的宽度:20%,持续5个细胞,14,28%,持续7个细胞

.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; 
} 
1

来解决,这是使用Crispy forms最简单的方法,这对渲染引导兼容布局支持。你可以很容易地在窗体的助手中定义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' 
     ) 
    )