Skip to content

Командная разработка на django

Anton Abramov edited this page May 3, 2015 · 8 revisions

Обновление модели при работе с проектом.

  1. При изменении модели необходимо выполнить команду:

    python manage.py makemigrations
    
  2. Применение всех миграций, которые были сделаны в проекте, а также добавление новых моделей, производится командой:

    python manage.py migrate 
    

Первичная установка.

  1. Запулить проект в локальный репозиторий и удостовериться в наличии всех необходимых модулей.
  2. Зайти в папку c проектом. В нашем случае это папка kormushka, в которой лежит файл managre.py.
  3. Запустить файл start.bat и ввести пароль для суперпользователя. По итогу выполнения скрипта будет созданы все необходимые миграции и суперпользователь с именем admin.

Для запуска bin файла в Linux необходимо ввести в терминале:

    chmod +x start.bin
    ./start.bat  

Стоит упомянуть о том, что мы переопределили класс User на CustomUser, однако суперпользователь будет создан в классе User. Ниже описаны действия, для создания суперпользователя в таблице CustomUser и запрет на авторизацию пользователям таблицы User.

  1. Запустить сервер:

    python manage.py runserver
    
  2. Перейти на страницу http://127.0.0.1:8000/ в браузере.

  3. Проверить работу страницы администрирования. Перейти на страницу 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',