Хостинг Django от «Джино»
Table of contents

Как работает интерфейс администратора

Как же работает интерфейс администратора? Всё очень просто.

Когда 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, но не пытайтесь поменять что-то непосредственно там, есть много возможностей настроить интерфейс администратора. (Если вы решили изучить приложение административного интерфейса, учтите, что оно производит достаточно сложные операции с метаданными моделей, поэтому понадобится много времени, чтобы разобраться в нём.)


Ищем Python программистов

Found misprint?
Select it with the mouse and hit Enter
Ctrl-Enter
Processed:
33 1 199 25


The full repository of DjangoBook translation you can get on GitHub.
We appreciate your patches!

We are glad to hear your questions, comments or suggestions!
(Open in new tab)

Users number: 601

Русская группа

на поддержку перевода
Яндекс Яндекс.Деньги Хочу такую же кнопку
Ускорить процесс перевода!
ЯМ:41001223475816


© 2008-2012 Ruslan Popov @ gmail.com Powered by Django 1.2.5