我在一个视图中有一个列表,我希望将其传递给另一个要解析的视图。 这就是我现在拥有的。 意见:
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),
)
所以问题是:
编辑: 在更广泛的层面上,我有一个模板和视图,它提供表单中的对象列表。每个对象都由一个复选框选中。我有第二个视图和模板,显示第一个视图中所选对象的数据。我希望选择的对象数量不是有限的或有限的,但这可能不是一个选项。
答案 0 :(得分:0)
正如布兰登所说,发布到第二个视图是一个有用的解决方案。 有点像:
def view2(request):
if request.method == 'POST':
page_list=request.POST.values()
else:
HttpResponseRedirect('/urls/')
然后在网址中不需要正则表达式
答案 1 :(得分:0)
我希望所选对象的数量不是有限的或有限的,但这可能不是一种选择。
绝对是一种选择。捕获将某个单词作为单个注册表发布的所有内容,并将其解析为视图中的不同“标记”。