BooleanField 复选框无法使用 bootstrap 正确呈现出crispy_forms [英] BooleanField checkbox not render correctly with crispy_forms using bootstrap
问题描述
我正在使用crispy_forms 和FormHelper.我有一个模型字段声明为:
active = models.BooleanField(default=True)
在我的 ModelForm 中,我在布局中尝试了以下两种方法:
self.helper.layout = Layout(...InlineCheckboxes('active'),字段('活动'),...
两者都没有提供预期的结果:
请参阅图片链接
在使用 InlineCheckboxes 时,我没有看到复选框并且只使用 Field,它的格式不正确.
请帮忙
这里是 链接到 Crispy Forms 文档的Bootstrap Layout objects"部分.
<块引用>InlineCheckboxes:它使用内联复选框呈现 Django forms.MultipleChoiceField 字段
InlineCheckboxes 不适合您模型的字段类型.
<小时>实现您正在寻找的一种hacky 方法是使用PrependedText
和一个空字符串作为text
参数.
<代码>...PrependedText('active', ''),...
<小时>
检查来源,似乎布尔字段默认呈现 标签内的
标签.使用上面的 hack,'Active' 保留在
中,而
放在您期望的位置:在
中.div>
带有控制"css 类.比较以下内容:
PrependedText('active', '')
:
<label for="id_active" class="control-label">Active</label><div class="控件"><div class="input-group"><input type="checkbox" name="active" class="checkboxinput" id="id_active"/>
Field('active')
:
<div id="div_id_active" class="checkbox"><div class="控件"><label for="id_active" class=""><input type="checkbox" name="active" class="checkboxinput 复选框" id="id_active"/>活动</label>