我的django项目中的一些网址出现404错误。例如:
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 Evolve后出现的。不确定这是否与它有关。
答案 0 :(得分:1)
您的请求网址为http://127.0.0.1:8000/admin
,但您的网址是url(r'^admin/$', include(admin.site.urls))
。
urlpattern中有一个额外的/
。
如果你想包含其他URLConfs,这里有一个包含其他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 ...
)
正如Burhan正确指出的那样,您需要移除尾随的$
,以便include
可以正常工作。
原因是因为正则表达式trailing $ matches right after the last character in the string
。
答案 1 :(得分:1)
你的模式不正确,应该是:
url(r'^admin/', include(admin.site.urls)),
答案 2 :(得分:0)
设置文件存在问题。我和其他开发人员有合并问题。
/ $与此问题无关。我在遇到麻烦时加了它。