API_library — это проект электронной библиотеки с возможностью просмотра книг и комментирования их. Он работает с HTML шаблонами, что позволяет пользователям взаимодействовать с интерфейсом через браузер. Кроме того, проект предоставляет API для получения данных в удобном формате JSON.
- Регистрация и авторизация пользователя.
- Просмотр всех книг и конкретной книги.
- Просмотр книг одного автора, жанра, издательства или серии.
- Просмотр всех обзоров и создание собственного обзора с выставлением оценки.
Клонировать репозиторий и перейти в него в командной строке:
git clone git@github.com:andrew12022/api_library.git
cd api_library
Cоздать и активировать виртуальное окружение:
python -m venv venv
source 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 http://127.0.0.1:8000/api/books/2/ Получить книги по id. Статус код
200:
Ответ:
{
"count": 10,
"next": "http://127.0.0.1:8000/api/books/?page=2",
"previous": null,
"results": [
{}
]
}
GET http://127.0.0.1:8000/api/books/2/ Получить книги по id. Статус код
200:
Ответ:
{
"id": 2,
"author": "Фёдор Достоевский",
"genre": "Классика",
"series": "Азбука-Классика",
"publisher": "ЭКСМО",
"reviews": [],
"name": "Преступление и наказание",
"description": "Преступление и наказание - высочайший образец криминального романа. В рамках жанра полицейского расследования писатель поставил вопросы, и по сей день не решенные. Кем должен быть человек: тварью дрожащей, как говорит Раскольников, или Наполеоном? И это проблема уже XXI века. Написанный в 1866 году роман Преступление и наказание до сих пор остается самой читаемой в мире книгой и входит в большинство школьных программ по литературе.",
"year_of_publication": 2020,
"page_count": 592,
"isbn": "978-5-93673-987-6"
}
Интерактивная документация Swagger находится по адресу: http://127.0.0.1:8000/swagger/ Документация Redoc находится по адресу: http://127.0.0.1:8000/redoc/
- Python
- Django
- Django REST framework
- SQLite