2015-10-07 15 views
4

我想使用引導來獲得一個體面的網站設計,不幸的是我不知道表單字段的風格。我在說這個:將引導樣式應用到django表單

<form class="form-horizontal" method="POST" action="."> {% csrf_token %} 
    {{ form.title.label }} 
    {{ form.title }} 
</form> 

這是怎麼設計的?我試過這個:

<form class="form-horizontal" method="POST" action="."> {% csrf_token %} 
    <div class="form-control"> 
    {{ form.title.label }} 
    {{ form.title }} 
    </div> 
</form> 

這顯然沒有給我想要的結果。

如何將引導樣式應用於django表單?

+2

django-bootstrap3會讓你的生活更輕鬆。 https://github.com/dyve/django-bootstrap3 – Quaker

+0

@奎克我會檢查出來,謝謝! –

回答

10

如果你不喜歡具有一個基類,我的模型形式從

class BootstrapModelForm(ModelForm): 
    def __init__(self, *args, **kwargs): 
     super(BootstrapModelForm, self).__init__(*args, **kwargs) 
     for field in iter(self.fields): 
      self.fields[field].widget.attrs.update({ 
       'class': 'form-control' 
      }) 

繼承可以很容易地使用第三方工具,那麼基本上你需要的屬性添加到您的課,我更喜歡這樣做調整......但你看我的所有領域部件獲取表單控制CSS類應用

,如果你願意,你可以爲特定的領域擴展此,這裏是具有屬性應用於

class MyForm(BootstrapModelForm): 
    def __init__(self, *args, **kwargs): 
     super(MyForm, self).__init__(*args, **kwargs) 
     self.fields['name'].widget.attrs.update({'placeholder': 'Enter a name'}) 
的繼承形式的例子
+0

這真的很酷!我不喜歡使用3方工具,但更多地堅持框架!我愛它,謝謝 –

+0

@FooBar - 不用擔心,盡情享受! :) – Sayse

+0

這個類會進入我的forms.py文件嗎? noob問題,我知道。我剛開始學習Django,所以我不是100%肯定... – Jeannie