Django의 URL 발송자는 정규식을 기반으로하므로 원하는 경로 (반복 그룹 포함)와 일치하는 정규식을 제공 할 수 있습니다. 그러나 django의 url 디스패처를 여러 하위 그룹 (매개 변수로 마지막 일치 만 반환 함)과 일치시킬 수있는 방법을 찾을 수 없으므로 일부 매개 변수 처리가보기에 남아 있습니다.
urlpatterns = patterns('',
#...
(r'^(?P<foldersPath>(?:\w+/)+)(?P<action>\w+)', 'views.folder'),
)
첫번째 파라미터에서는 비 캡처 그룹이 "/"뒤에 "단어"문자를 반복하는 : 여기
은 예시 URL 패턴이다. 아마도 \ w를 알파벳과 숫자 이외의 다른 문자를 포함하도록 다른 것으로 변경하고 싶을 것입니다. ,
urlpatterns = patterns('',
#...
(r'^(?P<foldersPath>(?:\w+/)+)view', 'views.folder_View'),
(r'^(?P<foldersPath>(?:\w+/)+)delete', 'views.folder_delete'),
)
과 뷰 :
당신은 물론 대신에 (당신이 제한된 작업이있는 경우 더 의미) 액션 PARAM를 사용하는 URL 구성에서 여러 뷰를 변경할 수 있습니다
def folder(request, foldersPath, action):
folders = foldersPath.split("/")[:-1]
print "folders:", folders, "action:", action
#...
은 그냥 중복 발견 http://stackoverflow.com/questions/249110/django-arbitrary-number-of-unnamed-urls-py-parameters : 우리는 폴더의 배열을 얻기 위해 첫 번째 매개 변수를 분할 ,하지만 아마도 누군가가 regexp를 유용하게 사용할 수 있습니다. –
고마워요. 불행히도 내 질문을 게시 할 때이 파일을 찾을 수 없습니다. 정규 표현식은 훌륭합니다. – letoosh