您好我有一个带有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。
我需要在每个radiobutton之前/之后注入html,我希望它能在模板中完成。从代码中可以很容易。
欢迎任何想法。
答案 0 :(得分:0)
我认为django-users中的这篇文章可能提供了一种方法(在表单类中使用了一个访问器函数): http://groups.google.com/group/django-users/msg/b60410692c7c60e2