Страница администратора Django не отображается - PullRequest
5 голосов
/ 13 ноября 2010

Я следовал руководству по опросам вплоть до того момента, когда у меня должна появиться страница входа в систему для администратора. http://docs.djangoproject.com/en/dev/intro/tutorial02/

Вместо этого я получаю страницу приветствия следующим образом:

What I get trying to access the admin page

Я включил приложение администратора в INSTALLED_APPS, синхронизировал db и настроил urls.py, поэтому я не уверен, в чем проблема.

Запуск apache2 с mod_wsgi.

urls.py: из django.conf.urls.defaults import *

# Uncomment the next two lines to enable the admin:
 from django.contrib import admin
 admin.autodiscover()

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

    # Uncomment the admin/doc line below 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)),
)

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',
    # Uncomment the next line to enable admin documentation:
     'django.contrib.admindocs',
     'polls'
)
...

Таблица:

База данных изменена

mysql> SHOW TABLES;
+----------------------------+
| Tables_in_django_test      |
+----------------------------+
| auth_group                 |
| auth_group_permissions     |
| auth_message               |
| auth_permission            |
| auth_user                  |
| auth_user_groups           |
| auth_user_user_permissions |
| django_admin_log           |
| django_content_type        |
| django_session             |
| django_site                |
| polls_choice               |
| polls_poll                 |
+----------------------------+

Ответы [ 4 ]

5 голосов
/ 14 ноября 2010

Действительно ли эти две строки имеют отступ в один пробел, как показано в вашем посте?

 from django.contrib import admin
 admin.autodiscover()

Вы получите IndentationError, если вы это сделаете. Положите их вплотную к левому краю.


Позже: О, я вижу в комментарии выше, что вы нашли эту ошибку отступа. Пометить мой ответ как вики сообщества.

4 голосов
/ 13 ноября 2010

Если вы делаете это через Apache и mod_wsgi, то вы не следуете руководству.В руководстве рассказывается о том, как использовать сервер разработки по уважительной причине: для Apache его необходимо перезапускать всякий раз, когда вы вносите изменения в код.Сервер разработчиков обнаруживает изменения и перезапускает вас.

2 голосов
/ 25 декабря 2012

У меня была идентичная ошибка.Я только получил страницу приветствия, даже если я запросил domain.com / admin .Не уверен, что наши ошибки происходят из-за идентичных источников, потому что я запускаю свой сайт django на hostgator с mod_fcgid.

В любом случае, я решил мою проблему, добавив более конкретные пользовательские пути для python вплоть до каталога, содержащего мой файл wsgi.py.

Мой файл index.fcgi был:

...
# Add a custom Python path. (optional)
sys.path.insert(0, "/home/*username*/django")

# Switch to the directory of your project.
...

Теперь это:

...
# Add a custom Python path. (optional)
sys.path.insert(0, "/home/*username*/django")
sys.path.insert(0, "/home/*username*/django/mysite")
sys.path.insert(0, "/home/*username*/django/mysite/mysite")

# Switch to the directory of your project.
...

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

1 голос
/ 13 ноября 2010

Как уже упоминалось @Daniel, mod_wsgi в Apache не принимает изменения кода по умолчанию. Тем не менее, он может быть настроен для этого. См:

http://code.google.com/p/modwsgi/wiki/ReloadingSourceCode#Monitoring_For_Code_Changes

...