0

我的 django 项目中的一些 URL 出现 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/$

但我没有对文件进行任何更改。

网址.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 之后出现的。不确定这是否与它有关。

4

3 回答 3

1

您的模式不正确,应该是:

url(r'^admin/', include(admin.site.urls)),
于 2013-08-25T05:09:47.650 回答
1

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

/urlpattern 中有一个额外的内容。

如果你想包含其他 URLConfs,下面是一个包含其他 URLconfs 的示例:

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工作。

原因是因为在 regex 中trailing $ matches right after the last character in the string

于 2013-08-25T05:06:18.007 回答
0

设置文件有问题。我所拥有的和另一个开发人员所拥有的存在合并问题。

/$ 与此问题无关。我在解决问题时添加了它。

于 2013-08-25T05:11:18.630 回答