Админ панель Django – это прекрасная возможность добавления интерфейса и контента на наш сайт! По умолчанию, админка находится по адресу <адрес сайта>/admin. Конечно же, мы можем и изменить этот адрес, но об этом попозже, а сейчас давайте разбиремся, как же все таки попасть в админку, какой логин и пароль надо ввести и можно ли их поменять. А также, может ли быть несколько администраторов у сайта!
Как создать админа Django
В терминале пишем:
python manage.py createsuperuser
- Нажимаем на кнопку Enter
- Ввести желаемое имя пользователя, т.е. админа
- Ввести e-mail админа (можно пропустить, нажав на Enter)
- Ввести пароль (обратите внимание, пароль при вводе не отображается)
- Повторить ввод пароля
Пароль должен состоять минимум из 8 символов, цифер и букв, но можно и меньше! В таком случае вас об этом уведомят, и спросят действительно ли вы уверены, что хотите именно этот пароль:
Если все же вы ввели слабый пароль или забыли его, или просто хотите изменить, для этого пишем в терминале:
python manage.py changepassword <логин админа>
- Нажимаем на Enter
- Вводим дважды новый пароль
Также, можно добавить несколько суперпользователей, если будет такая необходимость, для этого вводим ту же команду, с новым логином.
Ну и теперь мы можем попасть в админ панель Django, для этого перейдем по знакомому нам адресу <адрес сайта>/admin и введем логин и пароль.
Официальную документацию по этой теме вы найдете здесь.
Модели панели админа Django
Добавление моделей в админку Django возможно естественно после их создания, как создать модели в Django мы писали ранее, а сейчас разберемся как их отобразить в админке: переходим в файл admin.py нашего приложения, у меня это выглядит вот так:
Сначала нам нужно импортировать уже созданные модели с файла models.py
from .models import Projects
Нам остается зарегистрировать модели, которые мы хотим видеть в админке командой:
admin.site.register(Project)
После чего, если обновить страницу администратора, то у нас появится новый раздел Project нашего приложения.
Но, если мы перейдем в этот раздел, то получим в браузере ошибку, а все потому, что после каждого изменения в файле models.py необходимо выполнить миграцию!