自定义RadioSelect

时间:2009-11-03 20:08:58

标签: django choicefield

您好我有一个带有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,我希望它能在模板中完成。从代码中可以很容易。

欢迎任何想法。

1 个答案:

答案 0 :(得分:0)

我认为django-users中的这篇文章可能提供了一种方法(在表单类中使用了一个访问器函数): http://groups.google.com/group/django-users/msg/b60410692c7c60e2

相关问题