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

Python Django URL:匹配固定数量的可选参数?,python,regex,django,django-urls,Python,Regex,Django,Django Urls,我想在Django URL dispatcher中匹配以下表单的URL: /(?P<location>\w+)-holidays/in-(?P<month>\w+)/to-(?P<top_price>\d+) 我可以用Django URL模式来实现这一点吗?很抱歉,如果这是重复的,我已经做了一些搜索,但无法准确找到此问题 更新:我计划检查位置和月份等在视图中是否有效,而不是在URL中为它们提供模式 我也做过类似的事情,我是这样解决的: url.py: ur

我想在Django URL dispatcher中匹配以下表单的URL:

 /(?P<location>\w+)-holidays/in-(?P<month>\w+)/to-(?P<top_price>\d+)
我可以用Django URL模式来实现这一点吗?很抱歉,如果这是重复的,我已经做了一些搜索,但无法准确找到此问题


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

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

url.py:

url(r'^(?P<location>[\w]+)/(?P<month>[\w]*)/?(?P<something>[\w]*)/?', ...),
def course_list(request, location, month = None, something = None):

    if month:
        # do stuff
您真的希望在url中有一个“基本路径单词”作为第一项

如果您这样做:

url(r^(?P<location>[\w]*) ... ),
url(r^(?P[\w]*)…),

这将与所有URL非常匹配

这并没有那么复杂。只需对
/
进行拆分,然后依次检查每个元素。您的意思是将整个内容视为单个字符串,并在视图中进行处理?
url(r^(?P<location>[\w]*) ... ),