首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django URL:匹配固定数量的可选参数?

Django URL:匹配固定数量的可选参数?
EN

Stack Overflow用户
提问于 2013-01-15 18:06:26
回答 1查看 969关注 0票数 0

我想在我的Django URL dispatcher中匹配以下形式的URL:

代码语言:javascript
复制
 /(?P<location>\w+)-holidays/in-(?P<month>\w+)/to-(?P<top_price>\d+)

复杂的一点是,我希望路径的三个单独元素中的任何一个都是可选的。因此,我想匹配以下所有内容:

代码语言:javascript
复制
 /venice-holidays
 /venice-holidays/in-june/
 /venice-holidays/in-june/to-1000
 /venice-holidays/to-1000
 /in-june
 /in-june/to-1000
 /to-1000

我能用Django URL模式做到这一点吗?很抱歉,如果这是一个副本,我已经做了一些搜索,但无法找到这个问题。

更新:我计划检查locationmonth等在视图中是否有效,而不是在URL中为它们提供模式。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-15 19:28:39

我做过类似的事情,我是这样解决的:

url.py:

代码语言:javascript
复制
url(r'^(?P<location>[\w]+)/(?P<month>[\w]*)/?(?P<something>[\w]*)/?', ...),

views.py:

代码语言:javascript
复制
def course_list(request, location, month = None, something = None):

    if month:
        # do stuff

你真的希望在你的url中有一个“基本路径词”作为第一项。

如果您这样做:

代码语言:javascript
复制
url(r^(?P<location>[\w]*) ... ),

这将与所有urls非常匹配

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14335284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档