2013-08-25 18 views
0

내 장고 프로젝트에서 일부 URL에 대해 404 오류가 발생합니다. 예 :Django가 URL을 인식하지 못합니다.

Page not found (404) 
Request Method: GET 
Request URL: http://127.0.0.1:8000/admin 
Using the URLconf defined in some_project.urls, Django tried these URL patterns, in this order: 
^$ [name='home'] 
^admin/$ 

그러나 파일에는 아무 것도 변경되지 않았습니다.

urls.py

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

from django.contrib import admin 
admin.autodiscover() 

urlpatterns = patterns('', 
    # Examples: 
    url(r'^$', 'views.index',name='home',), 

    url(r'^admin/$', include(admin.site.urls)), 


) 

이 문제는 내가 장고 진화를 설치 ​​한 후 올 것 같았다. 그것이 그 일과 관련이 있는지 확실하지 않습니다.

답변

1

귀하의 요청 URL은 http://127.0.0.1:8000/admin이지만 귀하의 URL 패턴은 url(r'^admin/$', include(admin.site.urls))입니다.

URL 패턴에 /이 추가로 있습니다.

다른 URLconf는을 포함 할 경우

, 여기에 다른 URLconf는 포함하는 예입니다 : Burhan입니다 올바르게 지적

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

urlpatterns = patterns('', 
    # ... snip ... 
    url(r'^comments/', include('django.contrib.comments.urls')), 
    url(r'^community/', include('django_website.aggregator.urls')), 
    url(r'^contact/', include('django_website.contact.urls')), 
    # ... snip ... 
) 

, 당신은 그래서 include이 일할 수있는 후행 $을 제거해야합니다.

이유는 정규식 trailing $ matches right after the last character in the string에 있기 때문입니다.

1

귀하의 패턴이 정확하지 않습니다, 그것은해야한다 :

url(r'^admin/', include(admin.site.urls)), 
0

그것은 설정 파일에 문제가 있었다. 내가 가진 것과 다른 개발자가 가진 병합 문제가있었습니다.

/$는이 문제와 관련이 없습니다. 나는 문제 해결을 할 때 그것을 추가했다.

+0

이것은 문제가되며 관리자 URL 중 아무 것도 작동하지 않습니다. –

+0

예.하지만 오류가 발생하는 이유는 아닙니다. 예를 들어/$가 있으면 다른 오류가 발생합니다. 하지만 네, 맞습니다. 이것이 문제입니다. 당신의 도움을 주셔서 감사합니다. – scriptdiddy

관련 문제