2010-05-26 4 views
10

mysite 프로젝트의 urls.py에 다음 코드가 있습니다.Django 앱의 url.py를 포함하면 404가 발생합니다

/mysite/urls.py I 갤러리/urls.py에 설정된 URL에 액세스하려고 할 때 이것은 404 페이지에 결과

from django.conf.urls.defaults import * 
urlpatterns = patterns('', 
    (r'^gallery/$', include('mysite.gallery.urls')), 
) 

.

/mysite/gallery/urls.py

from django.conf.urls.defaults import * 
urlpatterns = patterns('', 
    (r'^gallery/browse/$', 'mysite.gallery.views.browse'), 
    (r'^gallery/photo/$', 'mysite.gallery.views.photo'), 
) 

404 오류

또한
Using the URLconf defined in mysite.urls, Django tried these URL patterns, in this order: 
^gallery/$ 
The current URL, gallery/browse/, didn't match any of these. 

사이트는 미디어 사원 (DV)를 사용하여 서버와 mod_wsgi에

에서 호스팅

답변

17

urls.py의 정규식에서 $을 제거하십시오.

urlpatterns = patterns('', 
    (r'^gallery/', include('mysite.gallery.urls')), 
) 

포함 된 Urlconf에 gallery이 필요하지 않습니다.

urlpatterns = patterns('', 
    (r'^browse/$', 'mysite.gallery.views.browse'), 
    (r'^photo/$', 'mysite.gallery.views.photo'), 
) 

이 예에서 정규 표현식은 $ (끝 문자열 일치하는 문자)를 가지고 있지만 후행 슬래시를 포함하지 않는 자세한 내용은

주를 django docs을 읽어보십시오. Django가 include()을 만날 때마다 URL의 해당 부분까지 일치하는 부분을 잘라 내고 은 나머지 문자열을 추가 처리를 위해 포함 된 URLconf로 보냅니다.

+0

고마워요! 그것은 작동합니다 :) – 828

관련 문제