Блог на Django #8: Создание админ-панели для моделей

107

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

Приложение django.contrib.admin уже включено в INSTALLED_APPS, поэтому отдельно его не нужно добавлять.

Создание супер-пользователя

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

python manage.py createsuperuser

Отобразится следующий вывод. Потребуется ввести имя пользователя, email и пароль:

Username (leave blank to use 'admin'): 
admin Email address: 
admin@admin.com 
Password: ******** 
Password (again): ******** 
Superuser created successfully.

Админ-панель Django

Запустить сервер разработки можно с помощью команды python manage.py runserver. Дальше нужно открыть http://127.0.0.1:8000/admin/ в браузере. Отобразится страница авторизации как на скриншоте:

страница авторизации django

Необходимо зайти на сайт с помощью имени пользователя и пароли, созданных в прошлом шаге. Отобразится стартовая страница админ-панели как на скриншоте:

стартовая страница админ-панели django

Модели Group и User — это элементы фреймворка аутентификации Django, которые расположены в django.contrib.auth. Если нажать на Users, вы увидите созданного пользователя. Модель Post приложения blog связана с моделью User. Запомните, что отношение определяется полем author.

Тест на знание python

Какой цикл `for` выведет такой результат?
Блог на Django #8:  Создание админ-панели для моделей
Блог на Django #8:  Создание админ-панели для моделей
Блог на Django #8:  Создание админ-панели для моделей
Блог на Django #8:  Создание админ-панели для моделей
Блог на Django #8:  Создание админ-панели для моделей
Что выведет этот код?
Блог на Django #8:  Создание админ-панели для моделей
Что выведет этот код?
Блог на Django #8:  Создание админ-панели для моделей
Что вернет следующий код?
Блог на Django #8:  Создание админ-панели для моделей
Какой будет результат выполнения этого кода?
Блог на Django #8:  Создание админ-панели для моделей