Django - 为dev web服务器显示404页面(http://127.0.0.1:8000/)

时间:2010-10-08 13:11:37

标签: python django django-models django-admin django-urls

我熟悉Django。

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

我采取的步骤(授予,一些是不必要的,但我只是想确保我从一个干净的石板开始):

  1. 编辑mysite / settings.py以启用管理员
  2. 编辑mysite / url.py以启用管理员
  3. 删除并重新创建了我的后端db
  4. 运行./manage.py syncdb(并正确响应提示)
  5. 启动了开发Web服务器(./manange.py runserver)
  6. 这是我的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.
    

    我做错了什么?

3 个答案:

答案 0 :(得分:12)

显然你没有任何处理“http://127.0.0.1:8000/”请求的网址。

要查看管理页面访问,请访问“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)),

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

答案 1 :(得分:4)

Request URL: http://127.0.0.1:8000/

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

如果您希望root用户可以访问管理员应用,则必须更改您的网址映射,如下所示:

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

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

答案 2 :(得分:0)

  1. 使用PyCharm 2.7
  2. 位置:urls.py
  3. 此行(在urls.py中)url(r'^ admin /',include(admin.site.urls))已取消注释。添加#和voilà,页面有效。