Django - интерфейс администратора

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

Запуск интерфейса администратора

Интерфейс администратора зависит от модуля django.countrib. Чтобы он работал, вам необходимо убедиться, что некоторые модули импортированы в кортежи INSTALLED_APPS и MIDDLEWARE_CLASSES файла myproject / settings.py.

Для INSTALLED_APPS убедитесь, что у вас есть -

INSTALLED_APPS = (
   'django.contrib.admin',
   'django.contrib.auth',
   'django.contrib.contenttypes',
   'django.contrib.sessions',
   'django.contrib.messages',
   'django.contrib.staticfiles',
   'myapp',
)

Для MIDDLEWARE_CLASSES -

MIDDLEWARE_CLASSES = (
   'django.contrib.sessions.middleware.SessionMiddleware',
   'django.middleware.common.CommonMiddleware',
   'django.middleware.csrf.CsrfViewMiddleware',
   'django.contrib.auth.middleware.AuthenticationMiddleware',
   'django.contrib.messages.middleware.MessageMiddleware',
   'django.middleware.clickjacking.XFrameOptionsMiddleware',
)

Перед запуском вашего сервера для доступа к интерфейсу администратора вам необходимо запустить базу данных -

$ python manage.py migrate

syncdb создаст необходимые таблицы или коллекции в зависимости от типа вашей базы данных, необходимые для запуска интерфейса администратора. Даже если у вас нет суперпользователя, вам будет предложено создать его.

Если у вас уже есть суперпользователь или вы забыли его, вы всегда можете создать его, используя следующий код -

$ python manage.py createsuperuser

Теперь, чтобы запустить интерфейс администратора, нам нужно убедиться, что мы настроили URL-адрес для нашего интерфейса администратора. Откройте myproject / url.py, и у вас должно получиться что-то вроде -

from django.conf.urls import patterns, include, url

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
   # Examples:
   # url(r'^$', 'myproject.views.home', name = 'home'),
   # url(r'^blog/', include('blog.urls')),

   url(r'^admin/', include(admin.site.urls)),
)

Теперь просто запустите сервер.

$ python manage.py runserver

И ваш интерфейс администратора доступен по адресу: http://127.0.0.1:8000/admin/

После подключения к своей учетной записи суперпользователя вы увидите следующий экран -

Этот интерфейс позволит вам управлять группами и пользователями Django, а также всеми зарегистрированными моделями в вашем приложении. Интерфейс дает вам возможность выполнять как минимум операции «CRUD» (создание, чтение, обновление, удаление) над вашими моделями.