在 Django Crispy 表单中指定 From 的模板
Specify the Template for a From within a Django Crispy Form
我有一个脆皮表格,我想在其中呈现一个单独的表格。我能够很好地呈现第二种形式,但需要对其进行样式设置。我正在尝试为这个单独的表单(FacilityForm)指定一个模板。我怎样才能做到这一点?
我show/hide这个根据用户是否点击"add a new facility"分开'facility form'。
我的脆皮表:
class RegistrationForm(forms.Form):
# Fields- many more fields that I haven't listed here
sample = forms.CharField(
label="Sample",
max_length = 50,
required = True,
)
data_type = forms.ChoiceField(
label="Data Type",
required = True,
)
def __init__(self, *args, **kwargs):
super(RegistrationForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.form_tag = False
self.helper.layout = Layout(
Fieldset(
"Data Information",
Div(
Div('lab', css_class='col-xs-6'),
Div('sample', css_class='col-xs-6'),
css_class='row'
),
Div(
Div('facility', css_class='col-xs-6'),
Div( HTML("<a href='#'>Add a new facility</a>"), css_class='col-xs-6 addfacility'),
css_class='row',
),
Div(
HTML("'{{facility_form}}' <a href='#' id='cancelFacility'>cancel</a>"),
css_class='new_facility',
),
),
单独的形式:
class FacilityForm(forms.Form):
facility_name = forms.CharField(
max_length=256,
required=True,
)
address_line1 = forms.CharField(
max_length=256,
required=True,
)
country = forms.CharField(
max_length=50,
required=True,
)
state_province = forms.CharField(
max_length=100,
required=False,
)
我想这可能是冗余的,但我只是在外部 Div 中使用了很多 Div,我将其 css_class
设置为 new_facility
:
Div(
Fieldset('Facility Information',
Div(
Div('facility_name', css_class='col-xs-4'),
Div('address_line1', css_class='col-xs-4'),
Div('address_line2', css_class='col-xs-4'),
css_class='row',
),
Div(
Div('country', css_class='col-xs-3'),
Div('state_province', css_class='col-xs-3'),
Div('city', css_class='col-xs-3'),
Div('postal_code', css_class='col-xs-3'),
css_class='row',
),
),
Fieldset('Facility Contact Person',
Div(
Div('first_name', css_class='col-xs-4'),
Div('middle_initial', css_class='col-xs-4'),
Div('last_name', css_class='col-xs-4'),
css_class='row',
),
Div(
Div('email', css_class='col-xs-12 col-sm-6'),
css_class='row',
),
),
HTML("<a href='#' class='btn btn-default pull-right' id='cancelFacility'>Cancel</a>"),
css_class='new_facility',
),
我有一个脆皮表格,我想在其中呈现一个单独的表格。我能够很好地呈现第二种形式,但需要对其进行样式设置。我正在尝试为这个单独的表单(FacilityForm)指定一个模板。我怎样才能做到这一点? 我show/hide这个根据用户是否点击"add a new facility"分开'facility form'。
我的脆皮表:
class RegistrationForm(forms.Form):
# Fields- many more fields that I haven't listed here
sample = forms.CharField(
label="Sample",
max_length = 50,
required = True,
)
data_type = forms.ChoiceField(
label="Data Type",
required = True,
)
def __init__(self, *args, **kwargs):
super(RegistrationForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.form_tag = False
self.helper.layout = Layout(
Fieldset(
"Data Information",
Div(
Div('lab', css_class='col-xs-6'),
Div('sample', css_class='col-xs-6'),
css_class='row'
),
Div(
Div('facility', css_class='col-xs-6'),
Div( HTML("<a href='#'>Add a new facility</a>"), css_class='col-xs-6 addfacility'),
css_class='row',
),
Div(
HTML("'{{facility_form}}' <a href='#' id='cancelFacility'>cancel</a>"),
css_class='new_facility',
),
),
单独的形式:
class FacilityForm(forms.Form):
facility_name = forms.CharField(
max_length=256,
required=True,
)
address_line1 = forms.CharField(
max_length=256,
required=True,
)
country = forms.CharField(
max_length=50,
required=True,
)
state_province = forms.CharField(
max_length=100,
required=False,
)
我想这可能是冗余的,但我只是在外部 Div 中使用了很多 Div,我将其 css_class
设置为 new_facility
:
Div(
Fieldset('Facility Information',
Div(
Div('facility_name', css_class='col-xs-4'),
Div('address_line1', css_class='col-xs-4'),
Div('address_line2', css_class='col-xs-4'),
css_class='row',
),
Div(
Div('country', css_class='col-xs-3'),
Div('state_province', css_class='col-xs-3'),
Div('city', css_class='col-xs-3'),
Div('postal_code', css_class='col-xs-3'),
css_class='row',
),
),
Fieldset('Facility Contact Person',
Div(
Div('first_name', css_class='col-xs-4'),
Div('middle_initial', css_class='col-xs-4'),
Div('last_name', css_class='col-xs-4'),
css_class='row',
),
Div(
Div('email', css_class='col-xs-12 col-sm-6'),
css_class='row',
),
),
HTML("<a href='#' class='btn btn-default pull-right' id='cancelFacility'>Cancel</a>"),
css_class='new_facility',
),