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

标签 python django django-urls

我目前有 /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/

相关文章:

Python不打印输出

python - 如何检查字典中是否存在值?

php - WordPress 博客可以从 Django 页面中提取内容吗?

python - 我什么时候应该使用 'path' 而不是 're_path' ?

python - 使用键作为元组高效循环字典

Django:无法配置处理程序 'console'

django - 重定向到管理员登录

python - 我需要一个 django-celery 守护进程来监听特定的rabbitmq channel

python - 在 Django 中使用 URL 将 boolean 值更改为真/假

javascript - 使用正则表达式匹配 0 到 100 或 0% 到 100%