Тестовое задание Python Django Rest Framework
Был разработан API для представления структуры компании, присутствует:
- Набор API методов для работы с данными по сотрудникам и департаментам.
- Swagger документация(http://localhost/swagger/).
- Админка по модели данных.
- Реализована авторизация.
- Присутствует пагинация.
- GET api/v1/departments/ - Возвращает список всех департаментов.
- POST api/v1/departments/ - Позволяет создать новый, несуществующий департамент.
- GET api/v1/departments/{id}/ - Возвращает департамент по заданному id.
- PUT or PATH api/v1/departments/{id}/ -Позволяет изменить данные департамента.
- DELETE api/v1/departments/{id}/ - Позволяет удалить департамент.
- GET api/v1/departments/{id}/employees/ - Возвращает список сотрудников указанного департамента, НУЖНА АВТОРИЗАЦИЯ!
ДЛЯ ДОСТУПА НЕОБХОДИМА АВТОРИЗАЦИЯ.
- GET api/v1/employees/ - Возвращает список всех сотрудников.
- POST api/v1/employees/ - Позволяет создать нового сотрудника.
- GET api/v1/employees/{id} - Возвращает конкретного сотрудника по заданному id.
- PUT or PATH api/v1/employees/{id} -Позволяет изменить данные сотрудника.
- DELETE api/v1/employees/{id} - Позволяет удалить сотрудника.
Так как по тз необходимо было сделать аутентификацию, для того чтобы получить доступ к некоторым endpoints, которые отмечены соответствующим образом, необходимо добавить заголовок:
Authorization: Token токен_авторизации
Для того чтобы получить этот токен, необходимо создать superuser:
python manage.py createsuperuser
А затем:
python manage.py drf_create_token имя_пользователя
docker build -t test_drf
docker run -d -p 8080:8000 test_drf
-
Устанавливаем все зависимости:
pip install requirements.txt -r python manage.py makemigrations python manage.py migrate
-
Запускаем приложение:
python manage.py runserver