【问题标题】:Customize radioselect default renderer自定义 radioselect 默认渲染器
【发布时间】:2011-05-25 19:54:03
【问题描述】:

我有以下带有单选选项的表单:

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

但是,它会在<ul> <li> .. </li></ul> 标记中呈现单选按钮。

你能建议我用什么方法来呈现唯一的单选按钮输入吗?

谢谢

【问题讨论】:

    标签: django default itemrenderer


    【解决方案1】:

    这是一个很好的方法来覆盖单选小部件的渲染器。

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

    基本上,创建一个继承自 forms.RadioFieldRenderer 类的类并覆盖 render 方法。然后在您的表单中设置小部件时使用 renderer 参数将渲染器设置为您的自定义渲染器类。

    话虽如此,我通常只是使用 CSS 更改外观

    【讨论】:

    • 完美,谢谢!这种自定义渲染器应该在项目树中是否有任何一般约定?
    • 我认为这取决于您是否打算以其他形式重用渲染器。如果不是,我会将它放在与表单相同的 forms.py 文件中,否则与您的“util”或“misc”sn-ps 的其余部分一起并从那里导入。
    猜你喜欢
    • 2013-07-27
    • 2011-11-12
    • 2020-01-14
    • 2012-01-31
    • 1970-01-01
    • 2010-12-12
    • 2017-06-09
    • 2017-11-24
    • 2013-09-25
    相关资源
    最近更新 更多