Административный веб-сайт Django

Данный инструмент позволяет получить доступ ко всем моделям, предварительно объявленных во всех приложения проекта. Есть возможность просматривать, удалять и редактировать нужные записи, а также использовать сортировку и различные фильтры. Кроме того, административный веб-сайт обеспечивает разграничение доступа, используя для этого встроенную подсистему.

За реализацию подсистемы отвечает стандартное приложение django.contrib.auth. За работу отвечает приложение django.contrib.admin. Оба приложения присутствуют в списке зарегистрированных по умолчанию.

Приложение django.contrib.auth использует специальные модели для хранения перечня зарегистрированных пользователей, а также информации о них, включая группы и права. Для корректной работы подсистемы необходимо, чтобы в используемой базе данных были сформированы соответствующие таблицы. Следовательно, разграничение доступа начнет работать только после выполнения первой миграции.

Также необходимо зарегистрировать суперпользователя – пользователя с максимальными привилегиями. Для этого необходимо остановить отладочный веб-сервер и ввести в командной строке:

manage.py createsuperuser

В ответ утилита запросит имя нового пользователя, электронную почту, пароль и его подтверждение:

Username (leave blank to use 'vlad'): admin_mob25
Email address: admin_mob25@mob25.com
Password:
Password (again):

Присутствуют определенные требования к вводимому паролю: не менее 8 символов, наличие цифр, буквы в разных регистрах. Если данные условия пользователь не соблюдает, утилита выдаст предупреждение, но спросит, создавать ли пользователя с данным паролем:

This password is too short. It must contain at least 8 characters.
This password is too common.
This password is entirely numeric.
Bypass password validation and create anyway? [y/N]: y

Чтобы проигнорировать сообщение и создать суперпользователя необходимо ввести «y» и нажать клавишу <Enter>.

После успешного создания суперпользователя отобразится соответствующее сообщение:

Superuser created successfully.

Далее русифицируем наш проект Django. Для этого необходимо открыть модуль settings.py и найти строку:

LANGUAGE_CODE = 'en-us'

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

LANGUAGE_CODE = 'ru'

Сохраним изменения, запустим отладочный веб-сервер и откроем страницу http://localhost:8000/admin/. Откроется форма для авторизации созданного ранее суперпользователя.

После авторизации отобразится страница со списком всех приложений, которые зарегистрированы в проекте и использующих какие-либо модели (они отображаются под названием приложения).

Стоит отметить, что на данном этапе в списке присутствует только стандартное приложение Пользователи и группы (именно так называется приложение django.contrib.auth), с двумя моделями – Пользователи и Группы. Созданное ранее приложение bboard отсутствует.

Чтобы созданное приложение появилось в интерфейсе административного сайта, его необходимо предварительно зарегистрировать его там. Откроем файл admin.py приложения bboard и внесем в код соответствующие правки:

from django.contrib import admin
from .models import Bb
admin.site.register(Bb)

У экземпляра класса AdminSite, который представляет собой непосредственно административный сайт и хранится в переменной site модуля django, вызывается метод register(). В качестве параметра методу передается ссылка на класс нужной модели (в нашем случае это Bb). После сохранения изменений новое приложение появится в интерфейсе административного сайта.

Название модели в данном списке представляет собой гиперссылку, которая открывает страницу с записями данной модели.

Данная страница предоставляет следующие инструменты:

  • добавление новой записи. Для этого необходимо кликнуть по ссылке Добавить <имя класса>.
  • если просто кликнуть на нужной записи откроется страница ее правки. Она похожа на страницу добавления новой записи, но дополнительно присутствует кнопка Удалить.
  • если выбрать запись при помощи установки флажка в первой колонке, отобразится набор доступных для данной модели действий. Для этого необходимо раскрыть список Действия, выбрать нужную операцию и нажать кнопку Выполнить. Отобразится запрос с информацией о записях, к которым применяется действие, а также кнопки для подтверждения или отмены действия.




Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: