2011-05-25 94 views
5

我有以下形式radioselect選項:自定義radioselect默認渲染

jobStatus = forms.ChoiceField(widget=forms.RadioSelect()) 

但是,它呈現在<ul> <li> .. </li></ul>標籤的單選按鈕。

你能建議我以任何方式呈現唯一的單選按鈕輸入嗎?

謝謝

回答

8

這是一個不錯的方法來覆蓋無線電選擇小部件的渲染器。

https://wikis.utexas.edu/display/~bm6432/Django-Modifying+RadioSelect+Widget+to+have+horizontal+buttons

基本上,創建一個從forms.RadioFieldRenderer類繼承的類,並重寫渲染方法。然後在設置窗口小部件時使用渲染器參數將渲染器設置爲您的自定義渲染器類。

這就是說,我通常只是改變使用CSS的外觀

+0

作品完美謝謝!這種自定義渲染器應該在項目樹中是否有任何常規慣例? – brsbilgic 2011-05-26 06:29:17

+1

我認爲這取決於您是否打算以其他形式重用渲染器。如果沒有,我會把它放在與form相同的forms.py文件中,否則用你的「util」或「misc」片段的其餘部分並從那裏導入它。 – DTing 2011-05-26 07:13:39