Проект позволяет пользователям получать доступ через API к постам, группам, подписчикам и комментариям. Создавать, удалять объекты, редактировать их по своему усмотрению
- Python 3.7
- Django 3.2.16
- Клонировать репозиторий и перейти в него в командной строке
git clone https://github.com/3gr1v750v/api_yatube.git
cd api_yatube
- Cоздать и активировать виртуальное окружение:
python -m venv env
venv/scripts/activate
- Установить зависимости из файла requirements.txt:
python -m pip install --upgrade pip
pip install -r requirements.txt
Выполнить миграции:
python manage.py migrate
- Запустить проект:
python manage.py runserver
- GET api/v1/posts/
Возвращает список всех постов.
[
{
"id": 0,
"author": "string",
"text": "string",
"pub_date": "2019-08-24T14:15:22Z",
"image": "string",
"group": 0
}
]
- GET api/v1/posts/?limit=1&offset=2
Возвращает список постов, с результатом ответа, ограниченным паджинацией.
{
"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
}
]
}
- POST api/v1/posts/
Добавление новой публикации в коллекцию публикаций. Анонимные запросы запрещены. Обязательная переменная при отправлении запроса "text": "string". Автором записи автоматически назначается зарегистрированный пользователь, отправивший запрос.
"id": 0,
"author": "string",
"text": "string",
"pub_date": "2019-08-24T14:15:22Z",
"image": "string",
"group": 0
Eugeni Grivtsov