Страница Django-404, отображаемая для веб-сервера dev (http://127.0.0.1:8000/)

Я знакомлюсь с Джанго.

я успешно установил и протестировал на демо-сайте. Теперь я хочу включить модуль администратора, чтобы посмотреть, что произойдет.

шаги, которые я предпринял (конечно, некоторые были ненужными, но я просто хотел убедиться, что начинаю с чистого листа):

  1. отредактировано mysite/settings.py чтобы включить admin
  2. отредактировано mysite/url.py чтобы включить admin
  3. упал и воссоздал мой бэкэнд db
  4. run ./manage.py syncdb (и правильно ответил на приглашения)
  5. запуск веб-сервера dev (. /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.

что я делаю не так?

3 ответов


очевидно, что у вас нет url-адреса, который обрабатывает запрос 'http://127.0.0.1:8000/'.

чтобы увидеть страницу администратора, 'http://127.0.0.1:8000/admin/'

когда у вас есть URL-адреса администратора

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

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

commented и никаких других URL-адресов, страница приветствия django отображается по умолчанию в 'http://127.0.0.1:8000/'


Request URL: http://127.0.0.1:8000/

вы получаете доступ к root URL-адрес. Однако у вас нет конфигурации URL, которая соответствует этому. Ваше приложение администратора находится в http://127.0.0.1:8000/admin/. Попробуй это.

Если вы хотите, чтобы приложение admin было доступно в root, вам придется изменить отображение URL, как показано ниже:

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

имейте в виду, что это не рекомендуется. Вы, конечно, не хотите, чтобы корневой URL-адрес указывал на приложение администратора!


  1. Использование PyCharm 2.7
  2. Location:urls.py
  3. эта строка (в urls.py) url (r ' ^admin/', include (admin.сайт.urls)), был незарегистрирован.Добавлена # и вуаля, страница работает.