Skip to content

dkuba/pyqt_samples

Repository files navigation

Содержание

Описание:

к оглавлению

к следующему разделу

Проект представляет собой готовый API для разворачивания и поддержания приложения социальной сети "Yatube".

Приложение позволяет пользователям:

  • публиковать свои записи/посты/тексты

  • объединять их в сообщества

  • подписываться на других авторов

  • комментировать тексты других авторов

Данный API позволит разработать самостоятельный клиент для взаимодействия с приложением "Yatube".

Установка:

к оглавлению

к следующему разделу

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


git clone https://github.com/yandex-praktikum/kittygram.git 


cd api_final_yatube 

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


python3 -m venv venv 


source venv/bin/activate 

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


python3 -m pip install --upgrade pip 


pip install -r requirements.txt 

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


python3 manage.py migrate 

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


python3 manage.py runserver 

Примеры:

к оглавлению

к предыдущему разделу

Публикации:

обратно к примерам

Получить список всех публикаций.

При указании параметров limit и offset выдача работает с пагинацией.


GET: http://127.0.0.1:8000/api/v1/posts/ 

Пример ответа:


{ 

  "count": 123, 

  "next": "http://api.example.org/accounts/?offset=400&limit=100", 

  "previous": "http://api.example.org/accounts/?offset=200&limit=100", 

  "results": [ 

    { 

      "id": 0, 

      "author": "string", 

      "text": "string", 

      "pub_date": "2021-10-14T20:41:29.648Z", 

      "image": "string", 

      "group": 0 

    } 

  ] 

} 

Коды ответов: 200

Создание публикации

Добавление новой публикации в коллекцию публикаций. Анонимные запросы запрещены.


POST: http://127.0.0.1:8000/api/v1/posts/ 

{ 

  "text": "string", 

  "image": "string", 

  "group": 0 

} 

Пример ответа:


{ 

  "id": 0, 

  "author": "string", 

  "text": "string", 

  "pub_date": "2019-08-24T14:15:22Z", 

  "image": "string", 

  "group": 0 

} 

Коды ответов: 201, 400, 401

Получение публикации

Получение публикации по id.


GET: http://127.0.0.1:8000/api/v1/posts/{id}/ 

Пример ответа:


{ 

  "id": 0, 

  "author": "string", 

  "text": "string", 

  "pub_date": "2019-08-24T14:15:22Z", 

  "image": "string", 

  "group": 0 

} 

Коды ответов: 200. 404

Обновление публикации

Обновление публикации по id. Обновить публикацию может только автор публикации. Анонимные запросы запрещены.


PUT: http://127.0.0.1:8000/api/v1/posts/{id}/ 

{ 

  "text": "string", 

  "image": "string", 

  "group": 0 

} 

Пример ответа:


{ 

  "id": 0, 

  "author": "string", 

  "text": "string", 

  "pub_date": "2019-08-24T14:15:22Z", 

  "image": "string", 

  "group": 0 

} 

Коды ответов: 200, 400, 401, 403, 404

Комментарии:

обратно к примерам

Получение комментариев

Получение всех комментариев к публикации.


GET: http://127.0.0.1:8000/api/v1/posts/{post_id}/comments/ 

Пример ответа:


[ 

  { 

    "id": 0, 

    "author": "string", 

    "text": "string", 

    "created": "2019-08-24T14:15:22Z", 

    "post": 0 

  } 

] 

Коды ответов: 200, 404

Сообщества:

обратно к примерам

Список сообществ

Получение списка доступных сообществ.


GET: http://127.0.0.1:8000/api/v1/groups/ 

Пример ответа:


[ 

  { 

    "id": 0, 

    "title": "string", 

    "slug": "string", 

    "description": "string" 

  } 

] 

Коды ответов: 200, 404

Подписки:

обратно к примерам

Подписки

Возвращает все подписки пользователя, сделавшего запрос. Анонимные запросы запрещены.


GET: http://127.0.0.1:8000/api/v1/follow/ 

Пример ответа:


[ 

  { 

    "user": "string", 

    "following": "string" 

  } 

] 

Коды ответов: 200, 401

Работа с токенами:

обратно к примерам

Получить JWT-токен


POST: http://127.0.0.1:8000/api/v1/jwt/create/ 

{ 

  "username": "string", 

  "password": "string" 

} 

Пример ответа:


{ 

  "refresh": "string", 

  "access": "string" 

} 

Коды ответов: 200, 400, 401

About

my pyqt workaround project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages