您好,我有一个带有 ChoiceField 的表单,其小部件设置为 RadioSelect
现在要覆盖默认的 html 输出,需要像这样子类 RadioFieldRenderer:
class SimpleRadioFieldRenderer(forms.widgets.RadioFieldRenderer):
def render(self):
"""Outputs widget without <ul> or <li> tags."""
return mark_safe(u'\n'.join([u'%s'
% force_unicode(w.tag()) for w in self]))
现在一切都很好,除了我希望能够从模板一次渲染 1 个单选按钮。像这样的东西:
{{ form.myfield.0 }}}
或者也许将它挂在小部件本身上:
{{ form.myfield.field.widget.0 }}
让我烦恼的是 RadioFieldRenderer 已经实现__get_item__
了只获得一个 RadioInput。问题是渲染器不包含数据,小部件也不包含。而且我真的很讨厌弄乱Field和BoundField。
我需要这个在每个单选按钮之前/之后注入 html,我希望它在模板中完成。从代码来看,这很容易。
欢迎任何想法。