django-crispy-forms bootstrap 4:如何水平显示复选框?
django-crispy-forms bootstrap 4: How to display checkboxes horizontally?
我似乎无法使用 django-crispy-forms/bootstrap4 使我的 CheckboxSelectMultiple 小部件水平显示。
我试过:
在表单的小部件上指定它:
小部件 = {'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="form-check-inline" 显示为红色。
如果我使用 crispy-forms 的助手,也会发生同样的事情。
self.helper.layout = Layout(Field('my_field', css_class="form-check-inline"))
知道这是为什么吗?有人可以提出替代方案吗?
p.s。 :设置为: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'))
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"))
我似乎无法使用 django-crispy-forms/bootstrap4 使我的 CheckboxSelectMultiple 小部件水平显示。
我试过: 在表单的小部件上指定它: 小部件 = {'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="form-check-inline" 显示为红色。
如果我使用 crispy-forms 的助手,也会发生同样的事情。
self.helper.layout = Layout(Field('my_field', css_class="form-check-inline"))
知道这是为什么吗?有人可以提出替代方案吗?
p.s。 :设置为: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'))
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"))