Python 如何在django中的视图之间传递列表

Python 如何在django中的视图之间传递列表,python,django,Python,Django,我在一个视图中有一个列表,我想传递给另一个视图进行分析。 这就是我现在拥有的。 意见如下: def view1(request): if request.method=='POST': list = request.POST.values() HttpResponseRedirect('/urls/'+ str(list)) def view2(request, *list): #do something with list 网址: urlp

我在一个视图中有一个列表,我想传递给另一个视图进行分析。 这就是我现在拥有的。 意见如下:

def view1(request):
    if request.method=='POST':
        list = request.POST.values()
        HttpResponseRedirect('/urls/'+ str(list)) 

def view2(request, *list):
    #do something with list
网址:

urlpatterns = patterns('',
    url(r'^urls/$', views.view1),
    url(r'^urls/(?P<list>[-/\w]+)$', views.view2),
)
urlpatterns=patterns(“”,
url(r'^url/$,views.view1),
url(r'^url/(?P[-/\w]+)$,views.view2),
)
因此,问题是:

  • 如何形成url正则表达式来识别列表
  • 如何将列表与HttpResponseRedirect中的url的其余部分连接起来,以便它能够读取
  • 如何在第二个视图中传递列表(我模糊地记得上次我这样做时使用了*但我找不到任何有用的参考资料)
  • 编辑:
    在更广泛的层面上,我有一个模板和视图,它提供表单中的对象列表。通过复选框选择每个对象。我有第二个视图和模板,用于显示第一个视图中选定对象的数据。我希望选择的对象的数量不是有限的或有限的,但这可能不是一个选项

    正如布兰登所建议的,发布到第二个视图是一个可用的解决方案。 大致如下:

    def view2(request):
        if request.method == 'POST':
            page_list=request.POST.values()
        else:
            HttpResponseRedirect('/urls/')
    

    然后就不需要在URL中使用正则表达式了,正如Brandon所建议的,发布到第二个视图是一个可用的解决方案。 大致如下:

    def view2(request):
        if request.method == 'POST':
            page_list=request.POST.values()
        else:
            HttpResponseRedirect('/urls/')
    
    然后在URL中就不需要正则表达式了

    我希望选择的对象的数量不是有限的或有限的,但这可能不是一个选项

    这绝对是一种选择。捕获所有内容,将某个单词作为单个注册表项发布,并将其解析为视图中的不同“标记”

    我希望选择的对象的数量不是有限的或有限的,但这可能不是一个选项


    这绝对是一种选择。捕获所有内容,将特定单词作为单个注册表项发布,并将其解析为视图中的不同“标记”。

    这一切都很好。但是,如果无法将列表传递给视图,那么我唯一的选择就是单独定义和传递每个数据项,例如
    view2(request,item1,item2,item3,…)
    ?如果是这种情况,有没有关于如何构造正则表达式以解析多个int的提示?我会想,
    (?P[-/\w]+),(?P[-/\w]+),(?P[-/\w]+)
    你没有读过这篇文章。你能不能不重定向而直接发布到第二个视图?是的,也许我误解了你的观点。我很有信心,我最终要寻找的是将请求对象列表从一个视图传递到另一个视图的能力。但如果有帮助的话,我会扩展。这一切都很好。但是,如果无法将列表传递给视图,那么我唯一的选择就是单独定义和传递每个数据项,例如
    view2(request,item1,item2,item3,…)
    ?如果是这种情况,有没有关于如何构造正则表达式以解析多个int的提示?我会想,
    (?P[-/\w]+),(?P[-/\w]+),(?P[-/\w]+)
    你没有读过这篇文章。你能不能不重定向而直接发布到第二个视图?是的,也许我误解了你的观点。我很有信心,我最终要寻找的是将请求对象列表从一个视图传递到另一个视图的能力。但如果有帮助,我会扩展。