Django - отображается страница 404 для веб-сервера разработчика (http://127.0.0.1:8000/) - PullRequest
6 голосов
/ 08 октября 2010

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

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

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

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

12 голосов
/ 08 октября 2010

очевидно, что у вас нет 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)),

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

4 голосов
/ 08 октября 2010

Request URL: <a href="http://127.0.0.1:8000/" rel="nofollow">http://127.0.0.1:8000/</a>

Вы получаете доступ к URL-адресу root .Однако у вас нет конфигурации 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 указывал на приложение администратора!

0 голосов
/ 15 сентября 2013
  1. Использование PyCharm 2.7
  2. Расположение: urls.py
  3. Эта строка (в urls.py) URL (r '^ admin /', include (admin.site.urls))), оставлено без комментариев. Добавлены # и вуаля, страница работает.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...