Django:重叠标签和单选按钮选项

Django: overlapping label and radio button options

我正在使用 django crispy_forms.helper 和 crispy_forms.layout 创建带有选项的单选按钮。标签和单选按钮选项重叠。

我使用的代码是:

forms.py

from django import forms
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Submit, HTML, Layout, Row, Div, Fieldset,ButtonHolder,Column
from crispy_forms.bootstrap import InlineRadios, PrependedAppendedText, Div

ROUTER_OPTIONS = (
('', 'Choose router...'),
('FIP', 'First IP in range'),
('AM', 'Add Manually')
 )
class DhcpForm(forms.ModelForm):
    router = forms.ChoiceField(label='Router',
                           choices=ROUTER_OPTIONS,
                           initial='', widget=forms.RadioSelect)

    def __init__(self, *args, **kwargs):
            super(DhcpForm, self).__init__(*args, **kwargs)
            self.helper = FormHelper()
            self.helper.form_method = 'post'
            self.helper.layout = Layout(
                                    Row(
            Column('dhcp_member', css_class='form-group col-md-6 mb-0'),
            Column('router', css_class='form-group col-md-6 mb-0'),
            css_class='form-row'
        )

html

{% block content %}
{% crispy form %}
{% endblock %}

我得到的视图:

overlapped view

在您的选择字段中添加样式功能并将显示设置为 flex,如下所示。

Column('router', css_class='form-group col-md-6 mb-0', style='display: flex')