我似乎无法使用django-crispy-forms/bootstrap4让我的CheckboxSelectMultiple小部件水平显示。
我尝试过:在表单的小部件上指定: widgets = {'my_field':forms.CheckboxSelectMultiple(attrs={'class':'form-check-inline'}),}
但复选框仍然垂直显示,并且模板呈现为:
<div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" name="my_field" id="id_my_field_2" value="2" class="form-check-inline"> <label class="custom-control-label" for="id_my_field_2">
此“class=”表单-签入“”以红色显示。
如果我使用crispy-forms的帮助器,也会发生同样的事情。self.helper.layout = Layout(Field('my_field', css_class="form-check-inline"))
你知道为什么会这样吗?有没有人能推荐一种替代方案?
附注::设置为: CRISPY_TEMPLATE_PACK = "bootstrap4“模板为:{% csrf_token %} {% load crispy_forms_tags %} {% crispy form form.helper %}
**编辑**我通过使用以下命令成功渲染了它们:
from django_crispy.bootstrap import InlineCheckboxes
self.helper.layout = Layout(InlineCheckboxes('my_field'))发布于 2020-10-05 17:25:08
from crispy_forms.bootstrap import InlineRadios
class DhcpForm(forms.ModelForm):
cargo = forms.ChoiceField(label='Cargo on Deck',
choices=[('true', 'Yes'),
('false', 'No')]
def __init__(self, *args, **kwargs):
self.helper.layout = Layout(
InlineRadios('cargo', id="radio_id"))https://stackoverflow.com/questions/64142500
复制相似问题