【问题标题】:Delete links are not displayed for Django Formsets used together with django-dynamic-formset与 django-dynamic-formset 一起使用的 Django Formset 不显示删除链接
【发布时间】:2017-06-13 08:04:26
【问题描述】:

我正在关注this 教程,该教程展示了如何在 Django 中使用表单集。本教程使用 django-dynamic-formset JQuery 插件,它可以在 Django admin 中启用表单集的版本。

假设我有以下表格:

<form  enctype="multipart/form-data" method="post">
   {% csrf_token %}

       {% for place_form in places_formset %}
            <div class="place_formset">
                <div class="required field">
                  <label>{{ place_form.name.label }}</label>
                  <div class="ui icon input">
                    {{ place_form.name }}
                  </div>
                </div>
            </div>
        {% endfor %}

       {{ places_formset.management_form }}

    <br>
    <button  type="submit">Save changes</button>

当我呈现表单时,我得到“添加项目”链接,它允许我向表单集添加另一个表单。(也意味着 js 和 JQuery 已加载并正在工作)但我没有看到应该删除每个表单的链接实例。

Here 有关于从内联表单集中删除项目的解释,但对常规表单集没有任何说明。

到目前为止我做了什么:

1.我已尝试包括:

   {{ place_form.DELETE }}

进入表单认为 django-dynamic-formset 将用“删除”链接替换所有呈现的复选框,但它没有发生。

2.我也尝试过使用显式 can_delete 渲染集合类,但没有解决问题:

  PlaceFormSet = formset_factory(PlaceForm, can_delete=True)

3.我尝试使用 {{ places_formset }} 来呈现它,而不是逐个字段呈现表单。在这种情况下,表单使用删除复选框呈现,但没有替换为删除链接。另外添加项目链接也消失了。

我还能做些什么来启用删除链接?

【问题讨论】:

    标签: jquery django django-forms


    【解决方案1】:

    页面加载时您的表单集是否隐藏? 如果是这样,即使在表单可见之后,jquery.formset.js 中的以下语句也会返回 false。

    if (row.is(':visible')) {
        insertDeleteLink(row);
        applyExtraClasses(row, i);
    }
    

    这已经被提出并且有一个未解决的问题https://github.com/elo80ka/django-dynamic-formset/issues/54

    在问题解决之前,我已经从 jquery.formset.js 的本地副本中删除了 if 语句

    【讨论】:

      【解决方案2】:

      Django-dynamic-formset 对我来说不能正常工作。查看其代码后,我已明确呈现链接:

      <a href="javascript:void(0)" class="delete-row">{% trans 'delete' %}</a>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-09-16
        • 1970-01-01
        • 2020-04-24
        • 1970-01-01
        • 2012-09-07
        • 2015-10-29
        • 2017-07-19
        相关资源
        最近更新 更多