【发布时间】:2016-11-06 07:13:09
【问题描述】:
任务是写两个url模式。
第一个将采用单个参数<path>,可以是任意深度的任意 url:
test/dorogi/
或
test/foo/bar/as/deep/as/you/want
第二个与第一个相同,但最后有一个数字。
test/dorogi/1/
它涉及两个参数:<path> 和 <pk>。最后一个是数字。
我为第一个模式做了一个解决方案:
url(r'^(?P<path>.*)/', mptt_urls.view(model='activities.models.Category', view='activities.views.category',
slug_field='slug'), name='activities'),
但是我如何制作第二个并防止它们之间发生任何冲突?
应该是这样的:
url(r'^...', views.ArticleDetailView.as_view(), name='article-detail'),
【问题讨论】:
-
只需添加这个正则表达式:'(?P
)(/\w+/?)+' 匹配第一个,但应该在 url 顺序中排在第二位。第二个更严格:'(?P ).*(/[0-9]+/?)$'
标签: python django url django-urls django-mptt