Страница Django-404, отображаемая для веб-сервера dev (http://127.0.0.1:8000/)
Я знакомлюсь с Джанго.
я успешно установил и протестировал на демо-сайте. Теперь я хочу включить модуль администратора, чтобы посмотреть, что произойдет.
шаги, которые я предпринял (конечно, некоторые были ненужными, но я просто хотел убедиться, что начинаю с чистого листа):
- отредактировано mysite/settings.py чтобы включить admin
- отредактировано mysite/url.py чтобы включить admin
- упал и воссоздал мой бэкэнд db
- run ./manage.py syncdb (и правильно ответил на приглашения)
- запуск веб-сервера 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-адрес указывал на приложение администратора!
- Использование PyCharm 2.7
- Location:urls.py
- эта строка (в urls.py) url (r ' ^admin/', include (admin.сайт.urls)), был незарегистрирован.Добавлена # и вуаля, страница работает.