Django 为什么我的表单集布局被忽略了?
我正在为一个相当复杂的模型开发一个前端表单,而我对crispy表单仍然是新手 我的提案模型使用两个m2m字段来表示章节和需求,每个字段都有定制的表格。我正在使用具有以下模板的表单集演示提案表单:Django 为什么我的表单集布局被忽略了?,django,django-crispy-forms,Django,Django Crispy Forms,我正在为一个相当复杂的模型开发一个前端表单,而我对crispy表单仍然是新手 我的提案模型使用两个m2m字段来表示章节和需求,每个字段都有定制的表格。我正在使用具有以下模板的表单集演示提案表单: <div class="tab-content panel-body"> <div id="basic-information" class="tab-pane active" > {% crispy fo
<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>
并在上下文中添加如下内容:
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_标记位被很好地拾取(结果看起来不错),但是self.layout设置没有效果
问题是,所有的表单集字段仍然显示在屏幕上——尽管行被调用并且正确的帮助程序已经就位,但布局似乎只是被忽略了(我已经尝试将html添加到布局中,但没有显示)
谁能告诉我我做错了什么?请随意给我指出正确的文档—我仔细研究了一下,但没有发现任何明显的问题。好的,答案是我使用了bootstrap/table\u inline\u formset.html。详细查看它,我发现它直接通过表单字段工作,因此忽略了清晰的布局-就这一点而言,酥皮是一个不错的选择 为了指定我的字段,我为表单集创建了一个自定义的模型表单,并将这些字段添加到其元数据中,因此:
class SectionMapForm(forms.ModelForm):
class Meta:
model = pm.ProposalSectionMap
fields = ('order', 'section', 'placement')
SectionMapFormSet = modelformset_factory(pm.ProposalSectionMap, form=SectionMapForm, extra=1)
class RequirementMapForm(forms.ModelForm):
class Meta:
model = pm.ProposalRequirementMap
fields = ('order', 'requirement', 'selected_option')
RequirementMapFormSet = modelformset_factory(pm.ProposalRequirementMap, form=RequirementMapForm, extra=1)
我希望这对某人有帮助
class SectionMapForm(forms.ModelForm):
class Meta:
model = pm.ProposalSectionMap
fields = ('order', 'section', 'placement')
SectionMapFormSet = modelformset_factory(pm.ProposalSectionMap, form=SectionMapForm, extra=1)
class RequirementMapForm(forms.ModelForm):
class Meta:
model = pm.ProposalRequirementMap
fields = ('order', 'requirement', 'selected_option')
RequirementMapFormSet = modelformset_factory(pm.ProposalRequirementMap, form=RequirementMapForm, extra=1)