2016-07-04 1 views
0

두 가지 URL 패턴을 작성하는 작업입니다.장고의 고급 URL

test/dorogi/

또는

test/foo/bar/as/deep/as/you/want

두 번째는 상기와 동일하다 :

첫 번째는 랜덤 깊이 모든 URL 수있는 단일 인자 <path>를 취할 것 첫 번째 것이지만 마지막에는 번호가 있습니다. <path><pk> :

test/dorogi/1/

그것은 두 개의 인수를 talkes. 마지막 하나는 숫자입니다.


나는 첫 번째 패턴을위한 솔루션 제작 :

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'), 
+1

그냥이 정규식을 추가합니다. (제가 위에서했던 것처럼 당신은 확실히 달러 (A $)로 패턴을 종료해야합니다) ,하지만 url 순서로 두 번째 자리에 있어야합니다. 두 번째는 좀 더 제한적입니다. '(? P ). * (/ [0-9] + /?) $' – Destrif

답변

2

그냥 첫 번째 패턴 정규식에 두 번째 매개 변수를 추가 :

이 같은 것을해야한다

r'^(?P<path>.*)/(?P<pk>\d+)/$' 

그러나에 그 전에 먼저 1 점을 추가하는 듯해야합니다 귀하의 URL 목록. '(P ?) (/ \ 승 + /?) +'첫 번째 일치 :

+0

예. 하지만 내 URL은'/ articles/news/regional // 4058 /'처럼 보일 것입니다. 'pk' 앞에 이중 슬래시가 있음을 주목하십시오. – Viktor