Django - 为开发 Web 服务器显示 404 页面 (http://127.0.0.1:8000/)

Posted

技术标签:

【中文标题】Django - 为开发 Web 服务器显示 404 页面 (http://127.0.0.1:8000/)【英文标题】:Django - 404 page displayed for dev web server (http://127.0.0.1:8000/) 【发布时间】:2011-04-22 21:25:24 【问题描述】:

我正在熟悉 Django。

我已成功安装并测试了一个演示站点。我现在想打开管理模块,看看会发生什么。

我采取的步骤(当然,有些是不必要的,但我只是想确保我从头开始):

    编辑了 mysite/settings.py 以启用管理员 编辑了 mysite/url.py 以启用管理员 删除并重新创建了我的后端数据库 运行 ./manage.py syncdb(并正确响应提示) 启动了开发网络服务器 (./manange.py runserver)

这是我的 mysite/settings.py 文件的样子(仅限相关部分)

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    # Uncomment the next line to enable the admin:
    'django.contrib.admin',
    # The next lines are my models
    'mysite.foo',
    'mysite.foobar',
)

这是我的 mysite/urls.py 文件的样子:

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    # Example:
    # (r'^mysite/', include('mysite.foo.urls')),

    # Uncomment the admin/doc line below and add 'django.contrib.admindocs' 
    # to INSTALLED_APPS to enable admin documentation:
    (r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    (r'^admin/', include(admin.site.urls)),
)

当我浏览到服务器 url 时,我得到这个响应:

Page not found (404)
Request Method:     GET
Request URL:    http://127.0.0.1:8000/

Using the URLconf defined in mysite.urls, Django tried these URL patterns, in this order:

   1. ^admin/doc/
   2. ^admin/

The current URL, , didn't match any of these.

You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 404 page.

我做错了什么?

【问题讨论】:

【参考方案1】:
    使用 PyCharm 2.7 位置:urls.py 此行(在 urls.py 中) url(r'^admin/', include(admin.site.urls)) 未注释。添加了 # 和瞧,页面有效。

【讨论】:

【参考方案2】:

Request URL: @987654321@

您正在访问 root URL。但是,您没有与此匹配的 URL 配置。您的管理应用程序位于 http://127.0.0.1:8000/admin/。试试吧。

如果您希望管理员应用可以在根目录下访问,您必须更改您的 URL 映射,如下所示:

urlpatterns = patterns('',
     # Uncomment the next line to enable the admin:
    (r'^$', include(admin.site.urls)),
)

请记住,不建议这样做。您当然不希望根 URL 指向管理应用程序!

【讨论】:

【参考方案3】:

显然,您没有任何处理“http://127.0.0.1:8000/”请求的 url。

要查看管理页面访问,'http://127.0.0.1:8000/admin/'

当您拥有管理员网址时

# (r'^admin/doc/', include('django.contrib.admindocs.urls')),

# Uncomment the next line to enable the admin:
# (r'^admin/', include(admin.site.urls)),

已评论且没有其他 url,django 欢迎页面默认显示在 'http://127.0.0.1:8000/'

【讨论】:

以上是关于Django - 为开发 Web 服务器显示 404 页面 (http://127.0.0.1:8000/)的主要内容,如果未能解决你的问题,请参考以下文章

Django 项目中的 HTML 音频标签播放按钮显示为灰色

Web开发之django(一基础篇)

Django之WSGI浅谈

python测试开发django-40.模型(model)中choices使用

细说 Django—web 前后端分离

Django Web开发 投票与评论