我目前有 /blue
形式的 URL - 每个 URL 都是一种颜色。关联的 URL 模式如下:
(r'^(?P<colour>\w+)$', 'views.colour')
我想知道是否有可能拥有看起来像自然语言列表、不确定长度、由 -or-
分隔的 URL:
/blue-or-green-or-yellow
理想情况下,关联的 URL 模式会将每个匹配项附加到 Python 列表,准备好在 View 中处理:
(r'^(?P<colour_list>\w+)(?:-or-(?P<colour_list>\w+))+$', 'views.colour')
在 Django 中有什么方法可以做到这一点吗?
最佳答案
类似于 (?P<colour_list>(\w+(\-or\-)?)+)
将获得整个子字符串匹配,然后你可以按 -or-
拆分
但是请注意,然后 blue-or-
将是有效匹配,因此您可能希望像这样拆分它:filter(bool, colour_list.split('-or-'))
关于python - Django:将 URL 参数附加到列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14172044/