gpt4 book ai didi

python - 具有无限数量参数的Django urlpattern

转载 作者:行者123 更新时间:2023-11-28 21:49:25 25 4
gpt4 key购买 nike

是否可以定义 Django urlpattern,它可以获取任意数量的相同类型参数并将它们传递给 View ?

假设我想创建一个页面,从 url 获取数字列表并对它们求和。所以这些将是有效的 url:

/sum/10/99/12/
/sum/1/2/3/4/5/6/7/8/9/
/sum/3/

我想这个 View 可能是这样的:

def sum_view(request, *args):
return render(request, 'sum.html', {'result': sum(args)})

问题是 urlpattern 应该是什么样子的?也许是这样的:

url(r'^sum/((\d+)/)+$', views.sum_view)

但这种方式 View 只获取重复两次的最后一个数字:args == ('1/', '1')。获取传递给 View 的所有数字的正确正则表达式是什么?

最佳答案

您可以捕获单个参数,例如'1/2/3/4/5/6/7/8/9/'

url(r'^sum/(?P<numbers>[\d/]+)$', views.sum_view)

在 View 中拆分列表。

def sum_view(request, numbers):
processed_numbers = [int(x) for x in number.split('/') if x]
...

关于python - 具有无限数量参数的Django urlpattern,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33555195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com