2014-02-19 26 views
0

如何自定義bootstrap中的外鍵選擇?如何使用django自舉來自定義表單

例如,

class SolarSystem(models.Model): 
     name = models.CharField(...) 
     description = models.CharField(...) 

class Planet(models.Model): 
     name = models.CharField(...) 
     solarsystem = models.ForeignKey(SolarSystem) 

我想建立一個行星形式,其中我可以選擇一個太陽系。 solarsystem應該是引導選擇(即class =「form-control」)。有時選項可能會有一些我想要顯示的描述。

即一些僞代碼:

<select class="form-control"> 
    {% for option in planet.solarsystem: %} 

     <option> 
       {{ option.name }} 
       {{ if option.description != null: }} 
        <span class="select-description">{{option.description}}</span> 
     </option> 
    {% endfor %} 
</select> 

有沒有辦法直接在模板中做到這一點,而不訴諸明確定義我自己的小工具爲外鍵solarsystem?

回答

0

我會推薦使用crispy-forms,因爲它是一個更完整的解決方案來渲染Bootstrap模板中的表單。

香脆的形式,你只需要使用普通的Django的形式與模板類似的代碼的幾行:

{% load crispy_forms_tags %} 

<form method="post" class="form-horizontal" role="form"> 
    {{ my_form|crispy }} 
</form> 
+0

即使脆皮形式,我將如何添加顯示solarsystem描述的邏輯? – user21398

0

更改<option>像這樣:

​​