Учебный проект на базе Yatube (с урезанным функционалом: остался только бэкенд(приложения, модели)) для тренировки реализации API для всех моделей приложения. API доступен только аутентифицированным пользователям. Использована аутентификация по токену TokenAuthentication. Аутентифицированный пользователь авторизован на изменение и удаление своего контента; в остальных случаях доступ предоставляется только для чтения. В ответ на запросы POST, PUT и PATCH API возвращает объект, который был добавлен или изменён.
- api/v1/api-token-auth/ (POST): передаём логин и пароль, получаем токен.
- api/v1/posts/ (GET, POST): получаем список всех постов или создаём новый пост.
- api/v1/posts/{post_id}/ (GET, PUT, PATCH, DELETE): получаем, редактируем или удаляем пост по id.
- api/v1/groups/ (GET): получаем список всех групп.
- api/v1/groups/{group_id}/ (GET): получаем информацию о группе по id.
- api/v1/posts/{post_id}/comments/ (GET, POST): получаем список всех комментариев поста с id=post_id или создаём новый, указав id поста, который хотим прокомментировать. api/v1
- posts/{post_id}/comments/{comment_id}/ (GET, PUT, PATCH, DELETE): получаем, редактируем или удаляем комментарий по id у поста с id=post_id.
- Клонирование репозитория
git clone git@github.com:ваш-аккаунт-на-гитхабе/api_yatube.git
Откройте в своем редакторе кода локальный проекта из репозитория GitHub, клонированного ранее
- Развертывание в репозитории виртуального окружения
python3 -m venv venv
- Запуск виртуального окружения
source venv/Scripts/activate
- Установка зависимостей в виртуальном окружении
pip install -r requirements.txt
- Выполнение миграций
python manage.py migrate
- Запуск проекта
python manage.py runserver
- Python3
- Django REST Framework
- API REST
- Postman
- SQLite3
- Simple-JWT