YaMDb собирает отзывы пользователей на произведения. Произведения делятся на категории: «Книги», «Фильмы», «Музыка». Пользователи могут оставить один отзыв для одного произведения. Также они могут оставлять комментарии под другими отзывами.
Клонировать репозиторий и перейти в него в командной строке:
git clone https://github.com/Aleksentcev/api_yamdb.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
Импортировать данные из csv файлов:
python3 manage.py import_csv
Запустить проект:
python3 manage.py runserver
Создать суперпользователя:
python3 manage.py createsuperuser
Придумать и ввести имя пользователя:
Имя пользователя: <username>
Ввести адрес электронной почты:
Адрес эл.почты: <email>
Придумать и ввести пароль (поле ввода не будет отображать никакие символы):
Password: <password>
Повторно ввести пароль (поле ввода не будет отображать никакие символы):
Password (again): <password>
URL панели-администратора:
.../admin/
В панели администратора есть возможность просматривать и редактировать данные из базы данных.
URL подробной документации к API:
.../redoc/
Запрос:
GET .../api/v1/categories/
Ответ:
{
"count": 0,
"next": "string",
"previous": "string",
"results": [
{
"name": "string",
"slug": "string"
}
]
}
Запрос:
POST .../api/v1/titles/10/reviews/
{
"text": "string",
"score": 5
}
Ответ:
{
"id": 0,
"text": "string",
"author": "string",
"score": 5,
"pub_date": "2022-08-24T14:15:22Z"
}
Запрос:
PATCH .../api/v1/titles/2/
{
"name": "string",
"year": 0,
"description": "string",
"genre": [
"string"
],
"category": "string"
}
Ответ:
{
"id": 0,
"name": "string",
"year": 0,
"rating": 0,
"description": "string",
"genre": [
{
"name": "string",
"slug": "string"
}
],
"category": {
"name": "string",
"slug": "string"
}
}
requests==2.26.0
Django==3.2
djangorestframework==3.12.4
django-filter==23.1
djangorestframework-simplejwt==4.8.0
PyJWT==2.1.0
pytest==6.2.4
pytest-django==4.4.0
pytest-pythonpath==0.7.3
Александр Иващенко - Модели/View/Эндпойнты,
Дмитрий Кателевский - Отзывы/Комментарии/Рейтинг,
Михаил Алексенцев (тимлид) - Управление пользователями