В этой части реализован проект quotes без использования БД. Для запуска и проверки функционала первой части:
- Создать venv:
python3 -m venv <venv_name> - Активировать venv:
source venv_name/bin/activate - Установите зависимости:
pip install -r requirements.txt - Функционал находится в файле app_with_out_db.py (Переименуйте файлы app_with_out_db.py в app.py, а app.py в app_with_db.py)
- Запустите сервер из терминала
flask run --debug 127.0.0.1:5000
- Реализована функция возвращающая цитату по id, если не найдена функция вернет сообщение с кодом 404
- Реализована функция возвращающая колличество цитат
- Реализована функция возвращающая случайную цитату
- Реалезована функция добавляющая новую цитату и отдельная функция возвращающая новый уникальный id
- Реализована функция редактирования цитаты
- Реализована функция удаления цитаты
- Добавлен рейтинг цитаты в словарь цитат и реалезована функция получения цитаты по фильтру
- Реализован функционал, позволяющий получить все цитаты с рейтингом в указанном диапазоне.
- Коллекция Postman находится в файле Flask1.postman_collection.json в корне проекта
В этой части проект переделан под использование БД. Для запуска и проверки функционала второй части части:
- Если не создан, создать venv:
python3 -m venv <venv_name> - Активировать venv:
source venv_name/bin/activate - Если не установленны, установите зависимости:
pip install -r requirements.txt - Функционал находится в файле app.py Если файл был переименован для проверки первой части переименуйте обратно в app.py
- Создайте репозиторий миграции
flask db init - Cоздать первоначальную миграцию
flask db migrate -m "Initial migration" - Применить изменения к БД
flask db upgrade - Cоздать записи в БД например с помощью POSTMAN:
127.0.0.1:5000/authors- создать автора127.0.0.1:5000/authors/1/quotes- создать цитату для автора. Или через терминал:from app import db, QuoteModel, AuthorModelзатем создать автораauthor = AuthorModel("Цой"),db.session.add(author),db.session.commit()затем добавить автору цитатуq1 = QuoteModel(author, 'белый снег,серый лед')db.session.add(q1),db.session.commit() - Запустите сервер из терминала
flask run --debug 127.0.0.1:5000
- Функции добавления, правки, удаления, получения всех цитат, получения цитаты по id, переделанны для работы с бд c помощью ORM
- Добавлены функции получения всех авторов, автора по id, создания автора
- Реализована функция поиска по рейтингу и\или автору