1

我正在阅读 Django 文档,但不太了解下面关于表单集的评论。

为什么我需要注意在此示例中使用管理模板中的管理表单?

在视图和模板中使用表单集

在视图中使用 formset 与使用常规 Form 类一样简单。您唯一需要注意的是确保使用模板内的管理表单。让我们看一个示例视图:

from django.forms import formset_factory
from django.shortcuts import render
from myapp.forms import ArticleForm

def manage_articles(request):
     ArticleFormSet = formset_factory(ArticleForm)
     if request.method == 'POST':
        formset = ArticleFormSet(request.POST, request.FILES)
        if formset.is_valid():
            # do something with the formset.cleaned_data
            pass
    else:
        formset = ArticleFormSet()
    return render(request, 'manage_articles.html', {'formset': formset})

# manage_articles.html

<form method="post">
    {{ formset.management_form }}
    <table>
        {% for form in formset %}
        {{ form }}
        {% endfor %}
    </table>
</form>
4

1 回答 1

5

ManagementForm 表单被表单集用来管理包含在表单集中的表单集合。

它用于跟踪正在显示的表单实例的数量。

有关更多详细信息,请参见此处

于 2018-12-26T15:02:46.283 回答