我正在尝试最小化我需要用来渲染带有引导样式的表单的代码量,希望只用{{ form }}
进行渲染但我还没有设法找到一种方法,使用文本前的复选框呈现BooleanField
。
from django.forms import Form, BooleanField
class MyForm(Form):
field = BooleanField(label='Test Label')
MyForm().as_table()
上面的测试代码将输出
<tr><th><label for="id_field">Test Label:</label></th><td><input class="" id="id_field" name="field" type="checkbox" /></td></tr>
但我希望实现的目标和感觉与bootstrap docs中显示的相同。
<label for="id_field"><input class="" id="id_field" name="field" type="checkbox" />Test Label:</label>
这样做的问题是渲染是通过表单处理的,label and the field分别定位/渲染,我还没有找到一个覆盖的地方,这将允许我在里面渲染小部件标签......
我是如何实现这一目标的?
我不想使用django-bootstrap3等,我也查看了它们的源代码,并且无法看到他们设法实现这一点的任何地方。
答案 0 :(得分:0)
事实证明,这比看起来更加固有,涉及提供表单字段mixin以及自定义窗口小部件。
我需要做太多工作才能维持。
然而!
django-angular
已设法通过自己的CheckboxInput
和关联的BooleanFieldMixin
实现此目标,因为这是我计划使用的内容,它解决了我的问题。