我目前正在浏览基本的 django 文档,因为我正在尝试为我的一个旧项目提出一些基本的编辑视图类。为此,我必须使用表单集。我对本示例中用于生成编辑视图的调用模式感到困惑。
您必须实例化表单集以使用 request.POST 进行验证的确切原因是什么,并且对于错误,您必须使用初始实例重新创建整个事物......(否则它不会显示任何数据)
def manage_books(request, author_id):
author = Author.objects.get(pk=author_id)
BookInlineFormSet = inlineformset_factory(Author, Book, fields=('title',))
if request.method == "POST":
formset = BookInlineFormSet(request.POST, request.FILES, instance=author)
if formset.is_valid():
formset.save()
# Do something. Should generally end with a redirect. For example:
return HttpResponseRedirect(author.get_absolute_url())
else:
formset = BookInlineFormSet(instance=author)
return render(request, 'manage_books.html', {'formset': formset})