Django-crispy-forms разделяет форму на два divs-макета
Я хочу разделить форму на два div с их собственными css_id, чтобы я мог ajax обновлять второй div на основе выбора в первом. Проблема в том, что моя результирующая форма не имеет div'ов с id 'pbid' и 'pb-options'
class PBForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.helper = FormHelper(self)
self.layout = Layout(
Div('cc', 'pb_id', css_id="pbid"),
Div('closed_r', 'closed_l', css_id="pb-options")
)
pb_id = forms.ChoiceField(label='PB', widget=forms.RadioSelect)
closed_l = forms.ChoiceField(label='Left Closed', widget=forms.RadioSelect, choices=BOOL_CHOICES)
closed_r = forms.ChoiceField(label='Right Closed', widget=forms.RadioSelect, choices=BOOL_CHOICES)
class Meta:
model = pb
fields = ['cc', 'pb_id', 'closed_r', 'closed_l']
Вы назначаете его на .layout
из FormHelper
:
class PBForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.helper = FormHelper(self)
# 🖟 .helper
self.helper.layout = Layout(
Div('cc', 'pb_id', css_id='pbid'),
Div('closed_r', 'closed_l', css_id='pb-options'),
)