1.8 KiB
1.8 KiB
Flask CRUD Example
CRUD-интерфейс на Flask + PostgreSQL. Аналог Lucee CRUD (tfluceecrud), работает с той же таблицей.
Переменные окружения
| Переменная | По умолчанию | Назначение |
|---|---|---|
PGHOST |
127.0.0.1 |
Хост PostgreSQL |
PGPORT |
5432 |
Порт PostgreSQL |
PGDATABASE |
postgres |
Имя БД |
PGUSER |
postgres |
Пользователь |
PGPASSWORD |
(пусто) | Пароль |
TABLE_NAME |
crud_items |
Имя таблицы (та же что у Lucee) |
PORT |
5000 |
Порт веб-сервера |
Запуск
pip install -r requirements.txt
python app.py
Или через gunicorn:
gunicorn app:app -b 0.0.0.0:5000
При старте: CREATE TABLE IF NOT EXISTS — не дропает существующую таблицу.
Структура
.
├── app.py # Flask приложение
├── requirements.txt # Flask, psycopg2-binary, gunicorn
├── static/
│ ├── logo.svg # Nubes логотип
│ ├── favicon.svg # Nudes иконка
│ └── style.css # Nubes дизайн-система
└── templates/
└── index.html # Jinja2 шаблон
Безопасность
- Параметризованные запросы (
%s) → защита от SQL-инъекций redirectпосле POST → защита от повторной отправки- Jinja2 автоэкранирование → XSS-защита