Это приложение Django позволяет управлять книгами в библиотеке. Он предоставляет REST API для выполнения различных операций с книгами и регистрации пользователей.
Содержание:
- Начало работы
- Предварительные требования
- Установка
- Использование
- Развертывание с использованием Docker
- API-эндпоинты
- Python (3.x)
- Docker
- Docker Compose
- Клонируйте репозиторий и перейдите в папку с проектом:
git clone https://github.com/Betwist/BooksLibrary.git
cd BooksLibrary - Создайте в корневой папке проекта файф .env, который будет содержать:
NAME_DB = Ваше название mysql бд
USER_DB = Ваше имя пользователя в mysql бд
PASSWORD_DB = Ваш пароль в mysql бд
EMAIL_HOST_USER = Почта с которой будет отправляться привественное письмо
EMAIL_HOST_PASSWORD = Пароль от почты с которой будет отправляться привественное письмо
ROOT_PASSWORD_DB = Пароль к бд с повышенными правами
EMAIL_HOST = Исходящий сервер почтового сервиса, подробнее можно узнать в поддержке вашего почтового провайдера
EMAIL_PORT = Порт вашего почтового сервиса, подробнее можно узнать в поддержке вашего почтового провайдера
EMAIL_USE_TLS = Тип шифрования, может быть False или True, подробнее о типе шифрования можно узнать в поддержке вашего почтового провайдера
EMAIL_USE_SSL = Тип шифрования, может быть False или True, подробнее о типе шифрования можно узнать в поддержке вашего почтового провайдера
SECRET_KEY = Ваш Django SECRET_KEY, данный ключ распологается в файле settings.py
Для того чтобы сгенерировать личный SECRET_KEY вы можете воспользоваться следующим кодом:
import random
import string
def generate_secret_key():
characters = string.ascii_letters + string.digits + string.punctuation
secret_key = ''.join(random.choice(characters) for i in range(50))
return secret_key
print(generate_secret_key())
- Соберите и запустите контейнеры:
docker-compose up --build
GET /api/books/: Получить список всех книг.
GET /api/books/{id}/: Получить информацию о конкретной книге.
POST /api/books/: Создать новую книгу.
В теле запроса нужно указать JSON-данные о книге в следующем виде:
{
"title": "Название книги",
"author": "Автор",
"publication_year": "Год публикации",
"isbn": "ISBN код"
}
PUT /api/books/{id}/: Обновить информацию о книге.
В теле запроса нужно указать измененные JSON-данные о книге в следующем виде:
{
"title": "Название книги",
"author": "Автор",
"publication_year": "Год публикации",
"isbn": "ISBN код"
}
DELETE /api/books/{id}/: Удалить книгу.
POST /api/users/register/: Зарегистрировать нового пользователя.
В теле запроса нужно указать JSON-данные о пользователе в следующем виде:
{
"username" : "Имя пользователя",
"email" : "Электронная почта пользователя"
}