2013-08-25 160 views
0

我在我的django項目中出現了一些404網址錯誤。例如:Django無法識別網址

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)), 


) 

這個問題似乎要來我安裝的Django進化後。不知道這是否與它有關。

回答

1

您的請求url爲http://127.0.0.1:8000/admin,但您的urlpattern爲url(r'^admin/$', include(admin.site.urls))

urlpattern中有一個額外的/

如果要包括其他的URLconf,這裏是一個例子,包括其他的URLconf:

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