如何在 Django 中将列表从一个视图传递到另一个视图?

jps*_*gal 4 python django list django-views

我一直在搜索 StackOverflow,但我还没有找到适合我的答案。我对 Python 和 Django 比较陌生,所以也许我想错了。

举一个简单的例子,想象两个具有不同关联 URL 的视图。这不应该是完美的代码。我只是想弄清楚如何从视图 1 到视图 2 中获取可变长度的项目列表。我没有看到通过 URL 执行此操作的方法,因为该列表可能很长。这不是应该很容易做到吗?

def view2(request, list_to_process):

     use list_to_process to manufacture formset (e.g. make a formset with one entry for each item in the list)
     return render(request, 'Project/template2.html', {'formset': formset})

def view1(request):

    if request.method == "POST":
        if form.is_valid():
            result = form.cleaned_data
            list_to_process = []
            for item in result:
                list_to_process.append(item)
            *WHAT CODE DO I USE HERE TO CALL VIEW2 AND SEND IT list_to_process AS AN ARGUMENT OR REQUEST ADDITION?*
    else:
        formset = formsettype()
        helper = AssayHelper() (defined elsewhere)
        helper.add_input(Submit("submit", "Submit")
        return render(request, 'Project/template1.html', {'formset': formset, 'helper': helper})
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?谢谢。

Dan*_*man 7

这正是会议的目的。在视图 1 中:

request.session['list'] = list_to_process
Run Code Online (Sandbox Code Playgroud)

在视图 2 中:

list_to_process = request.session['list']
Run Code Online (Sandbox Code Playgroud)