我试图弄清楚如何在django crispy_forms中将选择输入渲染为一组单选按钮。使用InlineRadios
渲染它们不是一种选择,因为我需要将它们渲染到"正常"垂直方向。
到目前为止,我尝试过使用:
Field('field_name', template='bootstrap/layout/radioselect.html')
虽然这可以显示选择<options>
,但它会以粗体显示,并且完全缺少表单组的<label>
。
我错过了一些简单的东西吗?处理此问题的最佳方法是编写我自己的自定义&#34;布局&#34 ;?如果是这样,我如何确保无线电输入中还包含<label>
?
答案 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文件以避免大胆的效果。