任務是編寫兩個url模式。Django中的高級URL
第一個將採取一個參數<path>
,其可以是具有隨機深度的任何URL:
test/dorogi/
或
test/foo/bar/as/deep/as/you/want
第二個將是相同的第一個,但最後有一個數字。
test/dorogi/1/
它talkes兩個參數:<path>
和<pk>
。最後一個是一個數字。
我做的第一圖案的解決方案:
url(r'^(?P<path>.*)/', mptt_urls.view(model='activities.models.Category', view='activities.views.category',
slug_field='slug'), name='activities'),
但我怎麼做第二個和防止beteween他們的任何衝突?
它應該是這樣的:
url(r'^...', views.ArticleDetailView.as_view(), name='article-detail'),
只需添加這個表達式: '(P?)(/ \ w + /?)+' 匹配的第一個,但應按照網址順序排在第二位。第二個更嚴格:'(?P )。*(/ [0-9] + /?)$' –
Destrif