Flask > db_class > SQLite. Пример#4
В этом примере приложения на Flask создан отдельный класс db_class, который позволяет организовать и упростить работу с таблицами базы данных. Теперь для каждой таблицы из базы данных нужно создать объект из описанного класса и прописать по 4 роута (Create, Read, Update, Delete ). В примере (пока) создан только объект client, и прописаны роуты только для него. Обратите внимание как стало легче читать содержимое файла my_ap.py
В этом примере нужно сначала создать базу данных. Для этого запустите скрипт createDB.py.
python3 ./createDB.py
Этот скрипт создаст базу данных SQLite и заполнит её данными.
После этого можно запускать пример:
python3 ./my_app.py
Откройте в браузере:
http://localhost:5000/frontend/
Фронтенд с прошлого примера не изменился. JsvaScript все пишет в консоль.
Кстати, просмотреть данные можно и по ссылкам прямо из браузера (в JSON формате, разумеется).
- Все клиенты: http://localhost:5000/client/
- Клиент с id 4 http://localhost:5000/client/4/
Немного не удобно прописывать множество роутов, если у нас будет много, очень много объектов данных (сотни). Для каждого прописывать по 4 роута будет непростительно тупо. Нужно как-то упростить этот процесс с одной стороны, а с другой оставить возможность при необходимости гибко модифицировать обработку данных для отдельных объектов данных (таблиц).
В следующем примере:
Переделаем класс чтобы было удобно описывать модель данных.
Смотри также:
- Flask. Установка и первое приложение
- Flask. JSON
- Flask + SQLite + JSON
- Flask > db_class > SQLite
- Flask. Model. ООП для работы с данными
- Flask, CORS, JSON-файл
- Flask + Vue. Финальный пример
Tags
bme280 mpu-6050 encoder examples adc lcd python wifi bluetooth rtc pwm piezo ngnix watchdog books rfid web st-link eeprom bkp usart led nodemcu flash websocket uart 3d-printer options html git meteo gpio soldering flask tim servo rs-232 raspberry-pi programmator stm32 sms dma battery dht11 hih-4000 css ssd1331 pmsm bmp280 avr brushless motor usb barometer max1674 displays esp8266 docker java-script ssd1306 i2c capture nvic bldc atmega exti ethernet timer mpu-9250 smd mpx4115a sensors dc-dc mongodb eb-500 remap solar foc gps
Архіви