diff --git a/README.md b/README.md index 17cd4d8..bd68db2 100644 --- a/README.md +++ b/README.md @@ -1,50 +1,15 @@ -# Flask CRUD Example +# Flask CRUD -CRUD-интерфейс на Flask + PostgreSQL. Аналог Lucee CRUD (`tfluceecrud`), работает с той же таблицей. +Flask + PostgreSQL. Таблица `crud_items`, общая с Lucee/Node.js. ## Переменные окружения -| Переменная | По умолчанию | Назначение | -|-------------|---------------|---------------------------| -| `PGHOST` | `127.0.0.1` | Хост PostgreSQL | -| `PGPORT` | `5432` | Порт PostgreSQL | -| `PGDATABASE`| `postgres` | Имя БД | -| `PGUSER` | `postgres` | Пользователь | -| `PGPASSWORD`| (пусто) | Пароль | -| `TABLE_NAME`| `crud_items` | Имя таблицы (та же что у Lucee) | -| `PORT` | `5000` | Порт веб-сервера | - -## Запуск - -```bash -pip install -r requirements.txt -python app.py -``` - -Или через gunicorn: - -```bash -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-защита +| Переменная | По умолчанию | +|-------------|---------------| +| `PGHOST` | `127.0.0.1` | +| `PGPORT` | `5432` | +| `PGDATABASE`| `postgres` | +| `PGUSER` | `postgres` | +| `PGPASSWORD`| (пусто) | +| `TABLE_NAME`| `crud_items` | +| `PORT` | `5000` |