在标签

时间:2016-01-12 15:46:44

标签: django django-forms

我正在尝试最小化我需要用来渲染带有引导样式的表单的代码量,希望只用{{ 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等,我也查看了它们的源代码,并且无法看到他们设法实现这一点的任何地方。

1 个答案:

答案 0 :(得分:0)

事实证明,这比看起来更加固有,涉及提供表单字段mixin以及自定义窗口小部件。

我需要做太多工作才能维持。

然而!

django-angular已设法通过自己的CheckboxInput和关联的BooleanFieldMixin实现此目标,因为这是我计划使用的内容,它解决了我的问题。