2017-03-01 59 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' 
     ) 
    )