我尝试以这种方式在 Django 中自定义我的单选按钮:
老的
<label for="id_jobStatus_1">
<span>
<a rel="jobStatus" href="#"></a>
<input type="radio" id="id_jobStatus_1" name="jobStatus" class="radio" value="1">
</span> xxx1
</label>
新的
<span>
<a rel="question" href="#"></a>
<input type="radio" checked="" value="oui" name="question" id="" >
</span>
<label class="RadioObject" style="cursor: pointer;"> xxx </label>
为了渲染第一个,我已经编写了一个自定义渲染器作为
class HorizRadioRenderer(forms.RadioSelect.renderer):
def render(self):
return mark_safe(u'\n'.join([u'%s\n' % w for w in self]))
但是,我无法像第二部分那样渲染按钮。如您所见,不同之处在于,删除并将label wrapper
其放在标签之后input span wrapper
并将RadioObject
css类添加到标签中。
实现这一目标的合适方法是什么?