Через api возможно получение и изменение постов и комментариев.
Получение групп(другие действия доступны только через админку).
Получение и поиск по подпискам(только для авторизованных пользователей).
Работа с пользователями реалирована при помощи djoser.
Реализована аутентификация по по JWT-токену при помощи djangorestframework-simplejwt для обеспечения безопасности API.
Тесты написаны на pytest
-
api/v1/users/ - адрес для работы с пользоваетлями
GET
,POST
,PUT
,DELETE
Нужна авторизация -
api/v1/follow/ - адрес для работы с подписками
GET
,POST
Нужна авторизация -
api/v1/groups/ - адрес для работы с группами
GET
, Нужна авторизация -
api/v1/posts/ - адрес для работы с постами
GET
, Не нужна авторизация
POST
,PUT
,DELETE
Нужна авторизация -
api/v1/posts/{post_id}/comments/ - адрес для работы с комментариями
GET
, Не нужна авторизация
POST
,PUT
,DELETE
Нужна авторизация -
api/v1/jwt/create/ - адрес для работы с токенами
POST
, Не нужна авторизация
Более подробное описание будет доступно в документации по адресу http://127.0.0.1:8000/redoc/ после запуска проекта.
git clone [email protected]:SerVik888/api_final_yatube.git
-> клонировать репозиторий
cd api_final_yatube
-> перейти в репозиторий
-
Если у вас Linux/macOS
python3 -m venv env
-> создать виртуальное окружение
source env/bin/activate
-> активировать виртуальное окружение
python3 -m pip install --upgrade pip
-> обновить установщик
pip install -r requirements.txt
-> установить зависимости из файла requirements.txt
python3 manage.py migrate
-> выполнить миграции
python3 manage.py createsuperuser
-> создать суперпользователя
python3 manage.py runserver
-> запустить проект -
Если у вас windows
python -m venv env
-> создать виртуальное окружение
source venv/Scripts/activate
-> активировать виртуальное окружение
python -m pip install --upgrade pip
-> обновить установщик
pip install -r requirements.txt
-> установить зависимости из файла requirements.txt
python manage.py migrate
-> выполнить миграции
python manage.py createsuperuser
-> создать суперпользователя
python manage.py runserver
-> запустить проект
- Выполнить команду
pytest
из корня проекта при запущенном виртуальном окружении - Коллекция запросов для Postman Для тестирования и отладки работы текущей версии API для проекта YaMDb, мы предоставляем коллекцию запросов для Postman. Вы можете импортировать эту коллекцию в Postman и выполнять запросы для проверки функциональности API.
Подробная инструкция по работе с коллекцией находится в файле /postman_collection/README.md.
- Django
- pytest
- djangorestframework
- djangorestframework-simplejwt
- djoser
Автор: Сафонов Сергей
Почта: [email protected]