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')
我正在使用 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')