为什么我的脆弱的formset布局被忽略了?

 yjlz2012 发布于 2022-12-23 16:02

我正在为一个相当复杂的模型开发一个前端表单,我仍然是新的脆形式.

我的Proposal模型使用两个m2m字段用于部分和要求,每个字段都有自定义的直通表.我正在使用带有此模板的formset来呈现提案表单:

    
{% crispy form %}
{% crispy sectionmap_formset sectionmap_formset_helper %}
{% crispy requirementmap_formset requirementmap_formset_helper %}

帮助器设置如下:

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添加到布局中,它是没有显示).

谁能告诉我我做错了什么?请随意指出我正确的文档 - 我对它无足轻重,我可能错过了一些明显的东西.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有