2011-05-25 90 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