Skip to content

HelloAgni/api_final_yatube

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

API для соцсети блогеров Yatube

  • У неаутентифицированных пользователей доступ к API только на уровне чтения.
  • Исключение — эндпоинт /follow/: доступ к нему только аутентифицированным пользователям.
  • Аутентифицированным пользователям разрешено изменение и удаление своего контента; в остальных случаях доступ предоставляется только для чтения.

Установка.

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

git clone ...

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

Windows

python -m venv venv

source venv/Scripts/activate

Linux

python3 -m venv venv

source venv/bin/activate

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

Windows

python -m pip install --upgrade pip

pip install -r requirements.txt

Linux

python -m pip install --upgrade pip

pip install -r requirements.txt

Сгенерировать и вставить в файл settings.py SECRET_KEY:

python manage.py shell

|>>>from django.core.management.utils import get_random_secret_key

|>>>get_random_secret_key()

YOUR_KEY

|>>> quit()

скопировать полученное значение в settings.py SECRET_KEY = 'YOUR_KEY'

Выполнить миграции и запустить проект:

Windows

python manage.py migrate

python manage.py runserver

Linux

python3 manage.py migrate

python3 manage.py runserver

Примеры.

GET http://127.0.0.1:8000/api/v1/posts/
[
    {
        "id": 1,
        "author": "User3",
        "text": "В лесу родилась ёлочка, в лесу она росла...",
        "pub_date": "2022-02-23T16:39:25.754620Z",
        "image": null,
        "group": 1
    },
...

POST http://127.0.0.1:8000/api/v1/posts/
{
"text": "string",
"image": "string",
"group": 0
}
Response samples 201
{
"id": 0,
"author": "string",
"text": "string",
"pub_date": "2019-08-24T14:15:22Z",
"image": "string",
"group": 0
}
PATCH http://127.0.0.1:8000/api/v1/posts/{post_id}/comments/{id}/
{
"text": "string"
}
Response samples 200
{
"id": 0,
"author": "string",
"text": "string",
"created": "2019-08-24T14:15:22Z",
"post": 0
}

Использованные технологии.

Python 3.9.7, Django 2.2.16, Django Rest Framework 3.12.4, Djoser, Simple JWT

Для тестирония API использовался - Postman

Автор студент 28 кагорты ЯП.
Back-end developer student.

About

API для соцсети блогеров Yatube

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published