【问题标题】:How to add forms dynamically to a Django formset?如何将表单动态添加到 Django 表单集?
【发布时间】:2020-01-22 06:56:36
【问题描述】:

我无法理解 create_book_normal() 在这段代码中的工作原理。

def create_book_normal(request):
    template_name = 'store/create_normal.html'
    heading_message = 'Formset Demo'

if request.method == 'GET':
    formset = BookFormset(request.GET or None)
elif request.method == 'POST':
    formset = BookFormset(request.POST)
    if formset.is_valid():
        for form in formset:
            name = form.cleaned_data.get('name')
            myuser = form.cleaned_data.get('myuser')
            # save book instance
            if name:
                Book(name=name,myuser=myuser).save()

请解释一下这个重定向是如何工作的。 #store:book_list

        return redirect('store:book_list')

return render(request, template_name, {
    'formset': formset,
    'heading': heading_message,
})

值是如何存储在 store:book_list 中的?

如果我将 book 更改为 Book,那么它会显示如下错误 - NoReverseMatch at /store/book/create_normal

【问题讨论】:

    标签: python django formset


    【解决方案1】:

    当调用redirect('store:book_list') 时,Django 正在对store 命名空间中的'book-list' url 执行反向查找。

    查看您的 Django 项目,看看是否有一个名为 store 的应用程序以及其中一个 urls.py 文件。您应该看到urlpattern,其中name='book_list'。然后重定向将在该 urlpattern 中运行视图。

    查看 django 网址上的 official docs

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-26
      • 1970-01-01
      • 2015-02-14
      • 2020-06-30
      • 1970-01-01
      • 1970-01-01
      • 2015-10-29
      相关资源
      最近更新 更多