2012-06-13 3 views
0

현재 Django Tutorial (Step 3)을 통해 진행 중이며 "URLconfs 분리"부분에 고정되어 있습니다.Django URL 패턴이 INCLUDE를 사용하는 경우 예상대로 작동하지 않습니다.

내가하려고하는 것은 장고 관리자에게 리디렉션하기 위해 lnadmin /을 포착하는 하나의 URL 패턴을 설정하고, 결국 다른 파일에서 포함 된 다른 패턴으로 리디렉션하는 또 다른 캐치 올을 설정하는 것입니다./

from django.conf.urls import patterns, include, url 

from django.contrib import admin 
admin.autodiscover() 

urlpatterns = patterns('', 

url(r'^lnadmin/', include(admin.site.urls)), #match admin 
url(r'^test/', include('lnapp.urls')), #match test, should be a catch-all later 
) 

여기에 해시/(아무것도)에 맞게 가정되는 lnapp/urls.py,이다 : 여기

내 내 사이트/urls.py의

from django.conf.urls import patterns, include, url 

urlpatterns = patterns('lnapp.views', 
    url(r'^hash/(?P<hash>.+)/$', 'hash'), #match part to load from hash 
) 

나는이 있었다 패턴을 url.py 메인에 추가하면 의도 한대로 작동합니다. 현재 (mydomain)/lnadmin /을 열면 lnapp.views.hash에 액세스하려고 시도합니다 (아직 뷰가 정의되어 있지 않으므로 lnapp.views.hash를 가져올 수 없음).

lnadmin /은 첫 번째 패턴과 일치해야하고/lnadmin /은 test/hash/(anything) /와 일치하지 않으므로 이해가되지 않습니다. 나가 lnapp/urls.py에있는 1 개의 URL를 논평하자마자, 그것은 의도 한대로 admin에게 방향을 바꾼다.

기본 url.py에서 두 URL을 바꾼다는 의미는 없습니다.

답변

0

내 자신의 질문에 대한 대답은 : 일치하지 않는 URL에 대해서도보기를 정의해야합니다. 그렇지 않으면 실패합니다.

관련 문제