Skip to content

API для проекта "Социальная сеть"

Notifications You must be signed in to change notification settings

aoamosova/api_final_yatube

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Общее описание решения.

Проект реализует API для проекта Yatube.

Общее описание логики работы решения.

Применяются ViewSet.

Ауентификация по по JWT-токену.

У неаутентифицированных пользователей доступ к API только на чтение, кроме эндпоинта /follow/: доступ к нему предоставляется только аутентифицированным пользователям.

Аутентифицированным пользователям разрешено изменение и удаление своего контента; в остальных случаях доступ предоставляется только для чтения.

Добавление новых пользователей через API не применяется.

Технологии:

  • Python 3.9
  • Django REST Framework 3.12.4
  • Django 2.2.16
  • Djangorestframework-simplejwt 4.7.2
  • Pillow 8.3.1

Сценарий сборки и запуска проекта.

Клонировать репозиторий и перейти в него в командной строке:

git clone https://github.com/aoamosova/api_final_yatube.git
cd api_final_yatube

Cоздать и активировать виртуальное окружение:

python -m venv env
source env/bin/activate
python3 -m pip install --upgrade pip

Установить зависимости из файла requirements.txt:

pip install -r requirements.txt

Выполнить миграции:

python manage.py migrate

Запустить проект:

python manage.py runserver

Пример использования.

Для доступа к API необходимо получить токен:

Выполнить POST-запрос http://127.0.0.1:8000/api/v1/jwt/create/ передав поля username и password. API вернет JWT-токен

При отправке запроса передавайте токен в заголовке Authorization:

Type --> Bearer Token --> Token <...>

Передав токен можно будет обращаться к методам, например:

/api/v1/posts/ (GET, POST, PUT, PATCH, DELETE)

Releases

No releases published

Packages

No packages published