使用Crispy Forms渲染选择为无线电输入

时间:2014-05-11 02:29:18

标签: html django django-crispy-forms

我试图弄清楚如何在django crispy_forms中将选择输入渲染为一组单选按钮。使用InlineRadios渲染它们不是一种选择,因为我需要将它们渲染到"正常"垂直方向。

到目前为止,我尝试过使用:

Field('field_name', template='bootstrap/layout/radioselect.html')

虽然这可以显示选择<options>,但它会以粗体显示,并且完全缺少表单组的<label>

我错过了一些简单的东西吗?处理此问题的最佳方法是编写我自己的自定义&#34;布局&#34 ;?如果是这样,我如何确保无线电输入中还包含<label>

1 个答案:

答案 0 :(得分:-1)

您可以将InlineRadios小部件扩展为radioselect,然后记下您自己的class VerticalRadioButtons(Field): template = "%s/layout/radioselect.html" def render(self, form, form_style, context, template_pack=TEMPLATE_PACK, **kwargs): return super(InlineRadios, self).render( form, form_style, context, template_pack=template_pack, extra_context={'inline_class': 'inline'} ) 模板:

DateTimeModelBinder

您可以从默认的radioselect模板开始,然后更改您想要的任何内容。或者您可能只需要触摸CSS文件以避免大胆的效果。