Django:将URL参数附加到列表中?

2024-05-07 16:00:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前有格式为/blue-每个URL都是一种颜色。关联的URL模式如下:

 (r'^(?P<colour>\w+)$', 'views.colour')

我想知道是否有可能有一个看起来像自然语言列表的url,长度不确定,用-or-分隔:

^{pr2}$

理想情况下,关联的URL模式会将每个匹配项附加到Python列表中,以便在视图中处理:

 (r'^(?P<colour_list>\w+)(?:-or-(?P<colour_list>\w+))+$', 'views.colour')

在Django有什么办法吗?在


Tags: or视图url列表颜色格式模式情况
3条回答

试试这个regex

(\w+(?:-or-)?)+

或使用字符串拆分:

^{pr2}$

这样做有助于:

采用逗号分隔颜色

(r'^(?P<colours>[\w,]+)$', 'views.colour')

然后在视图中:

^{pr2}$

类似(?P<colour_list>(\w+(\-or\-)?)+)的方法将得到整个子字符串匹配,然后您可以按-or-拆分

但是请注意,那么blue-or-将是有效的匹配项,因此您可能需要这样分割它:filter(bool, colour_list.split('-or-'))

相关问题 更多 >