自定义 radioselect 默认渲染器
Posted
技术标签:
【中文标题】自定义 radioselect 默认渲染器【英文标题】:Customize radioselect default renderer 【发布时间】:2011-05-25 19:54:03 【问题描述】:我有以下带有单选选项的表单:
jobStatus = forms.ChoiceField( widget=forms.Radioselect())
但是,它会在<ul> <li> .. </li></ul>
标记中呈现单选按钮。
你能建议我用什么方法来呈现唯一的单选按钮输入吗?
谢谢
【问题讨论】:
【参考方案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 的其余部分一起并从那里导入。以上是关于自定义 radioselect 默认渲染器的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin.Forms MasterDetailPage 自定义渲染器
自定义渲染器未应用于 Table 渲染 handsontable
MvvmCross 与 Xamarin.Forms 和自定义 iOS 渲染器 - 防止导航滑动 iOS - MasterDetail
ruby will_paginate(3.0.7)自定义渲染器。注释掉的代码是此版本gem的默认代码。使用`super`作为写的贝尔