【发布时间】:2016-02-06 21:58:22
【问题描述】:
是否可以定义 Django urlpattern,它可以获取任意数量的相同类型参数并将它们传递给视图?
假设我想创建一个页面,该页面从 url 获取数字列表并将它们求和。所以这些是有效的网址:
/sum/10/99/12/
/sum/1/2/3/4/5/6/7/8/9/
/sum/3/
我猜这个视图可能是这样的:
def sum_view(request, *args):
return render(request, 'sum.html', {'result': sum(args)})
问题是 urlpattern 应该是什么样子?也许是这样的:
url(r'^sum/((\d+)/)+$', views.sum_view)
但这种方式只会让最后一个数字重复两次:args == ('1/', '1')。让所有数字通过视图的正确正则表达式是什么?
【问题讨论】:
-
为什么不以 GET 格式传递参数? ->
/sum/?nums=[1,2,3,4,5,6,7]
标签: python django python-3.x url-pattern