-
Notifications
You must be signed in to change notification settings - Fork 2
Командная разработка на django
Обновление модели при работе с проектом.
-
При изменении модели необходимо выполнить команду:
python manage.py makemigrations
-
Применение всех миграций, которые были сделаны в проекте, а также добавление новых моделей, производится командой:
python manage.py migrate
Первичная установка.
- Запулить проект в локальный репозиторий и удостовериться в наличии всех необходимых модулей.
- Зайти в папку c проектом. В нашем случае это папка kormushka, в которой лежит файл managre.py.
- Запустить файл start.bat и ввести пароль для суперпользователя. По итогу выполнения скрипта будет созданы все необходимые миграции и суперпользователь с именем admin.
Для запуска bin файла в Linux необходимо ввести в терминале:
chmod +x start.bin
./start.bat
Стоит упомянуть о том, что мы переопределили класс User на CustomUser, однако суперпользователь будет создан в классе User. Ниже описаны действия, для создания суперпользователя в таблице CustomUser и запрет на авторизацию пользователям таблицы User.
-
Запустить сервер:
python manage.py runserver
-
Перейти на страницу http://127.0.0.1:8000/ в браузере.
-
Проверить работу страницы администрирования. Перейти на страницу http://127.0.0.1:8000/admin/ в браузере. Ввести логин и пароль суперпользователя.
Примечание. Файл с базой данных kormushka.sqlite3, папка pycache и migrations добавлены в .gitignore. По этой причине все данные, находящиеся в БД остаются у каждого свои и не передаются с проектом.
Теперь работаем с классом CustomUser, вместо стандартного User, предоставляемого django. Этот выбор мы указываем в settings.py следующей строчкой:
CUSTOM_USER_MODEL = 'loginsys.CustomUser'
Вся работа с пользователями(аутентификация, авторизация) и информацией о пользователе ведется точно также как и раньше.
Для доступа к админке создается суперпользователь. Он создается в папке User!!! Когда мы первый раз заходим в админку необходимо создать нового пользователя и выдать ему права администратора.
Для отключения возможности авторизации и аутентификации пользователям из таблицы User (в том числе суперпользователю, созданному в самом начале), в settings.py (AUTHENTICATION_BACKENDS) закомментируем строку:
'django.contrib.auth.backends.ModelBackend',