Как же работает интерфейс администратора? Всё очень просто.
Когда Django загружает схему URL из urls.py
при старте сервера, выполняется функция
admin.autodiscover(), которую мы добавили для
активации интерфейса администрации. Эта функция проходит по
элементам параметра INSTALLED_APPS и
проверяет наличие admin.py в каждом
установленом приложении. Если admin.py
присутствует, выполняется его код.
В admin.py нашего приложения
books, каждый вызов
admin.site.register() регистрирует указаную
модель в интерфейсе администратора, предоставляя возможность
управлять содержимым модели.
Приложение django.contrib.auth имеет свой собственный файл admin.py — именно поэтому «Пользователи» и «Группы» автоматически отображаются на интерфейсе администратора. Другие приложения django.contrib, например django.contrib.redirects также автоматически добавляют свои модели в интерфейс администратора, так же как и множество сторонних приложений Django, которые вы можете загрузить из интернета.
Несмотря на всё это, административный интерфейс является всего
навсего простым приложением Django, со своими собственными
моделями, шаблонами, представлениями и схемой URL. Вы добавляете
его в свой проект через подключение в схему URL, аналогично
добавлению своих представлений. Вы можете изучить его шаблоны,
представления и схему URL, просмотрев в каталог
django/contrib/admin вашей копии кода
Django, но не пытайтесь поменять что-то непосредственно там,
есть много возможностей настроить интерфейс
администратора. (Если вы решили изучить приложение
административного интерфейса, учтите, что оно производит
достаточно сложные операции с метаданными моделей, поэтому
понадобится много времени, чтобы разобраться в нём.)
| Пред. | Уровень выше | След. |
| Добавление ваших моделей на интерфейс администратора | Начало | Делаем поля необязательными |
0 комментариев | Оставьте комментарий