2
我正在爲一個相當複雜的模型開發一個前端表單,而我對於脆皮表單仍然陌生。爲什麼我的脆皮模板佈局被忽略?
我的建議模型使用了兩個m2m字段用於部分和要求,每個字段都有自定義的通過表。我提出使用表單集與此模板的建議形式:
<div class="tab-content panel-body">
<div id="basic-information"
class="tab-pane active" >
{% crispy form %}
</div>
<div id="sections"
class="tab-pane" >
{% crispy sectionmap_formset sectionmap_formset_helper %}
</div>
<div id="requirements"
class="tab-pane" >
{% crispy requirementmap_formset requirementmap_formset_helper %}
</div>
</div>
的助手們正在建立這樣的:
class MapFormSetHelper(FormHelper):
template = 'bootstrap/table_inline_formset.html'
def __init__(self, form=None):
super(MapFormSetHelper, self).__init__(form)
self.disable_csrf = True
self.form_method = 'post'
self.form_tag = False
class SectionMapFormSetHelper(MapFormSetHelper):
def __init__(self, form=None):
super(SectionMapFormSetHelper, self).__init__(form)
self.layout = Layout('order', 'section', 'placement')
class RequirementMapFormSetHelper(MapFormSetHelper):
def __init__(self, form=None):
super(RequirementMapFormSetHelper, self).__init__(form)
self.layout = Layout('order', 'requirement', 'selected_option')
,並加入到這樣的背景:
def get_context_data(self, **kwargs):
context = super(ProposalUpdateView, self).get_context_data(**kwargs)
proposal = context['proposal']
# Add formsets
for model_class, context_key, formset_class in (
(pm.ProposalSectionMap, 'sectionmap_formset', forms.SectionMapFormSet),
(pm.ProposalRequirementMap, 'requirementmap_formset', forms.RequirementMapFormSet)):
qs = model_class.objects.filter(proposal=proposal)
context[context_key] = formset_class(queryset=qs)
# Add helpers
context['sectionmap_formset_helper'] = forms.SectionMapFormSetHelper()
context['requirementmap_formset_helper'] = forms.RequirementMapFormSetHelper()
return context
的表格佈局和form_tag位拾取良好(並且結果看起來不錯),但self.layout設置沒有任何作用。
問題是,所有的formset字段仍在顯示 - 儘管行被調用,並且右側的助手已經到位,這就好像佈局被忽略了一樣(我嘗試添加html到佈局和它不顯示)。
誰能告訴我我做錯了什麼?隨意指出我的正確位置 - 我已經無視它了,我可能錯過了一些顯而易見的東西。