Add Russian inline comments
This commit is contained in:
parent
eed3e1fcde
commit
467f385c98
@ -1,3 +1,4 @@
|
|||||||
|
# Базовый образ Python для Flask-приложения.
|
||||||
FROM python:3.9-slim
|
FROM python:3.9-slim
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|||||||
@ -2,3 +2,5 @@
|
|||||||
|
|
||||||
Простое CRUD-приложение на Flask, которое пишет и читает из таблицы `nubes_test_table`.
|
Простое CRUD-приложение на Flask, которое пишет и читает из таблицы `nubes_test_table`.
|
||||||
Если поле ввода пустое, вставляется запись "Это Flask сделал".
|
Если поле ввода пустое, вставляется запись "Это Flask сделал".
|
||||||
|
|
||||||
|
Примечание: таблица создается автоматически при первом запросе.
|
||||||
@ -7,6 +7,7 @@ from flask import Flask, redirect, render_template_string, request
|
|||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
# Соединение с Postgres, DATABASE_URL имеет приоритет.
|
||||||
def get_conn():
|
def get_conn():
|
||||||
db_url = os.getenv("DATABASE_URL")
|
db_url = os.getenv("DATABASE_URL")
|
||||||
if db_url:
|
if db_url:
|
||||||
@ -21,6 +22,7 @@ def get_conn():
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
# Гарантируем наличие таблицы для демо.
|
||||||
def ensure_table():
|
def ensure_table():
|
||||||
with get_conn() as conn, conn.cursor() as cur:
|
with get_conn() as conn, conn.cursor() as cur:
|
||||||
cur.execute(
|
cur.execute(
|
||||||
@ -34,6 +36,7 @@ def ensure_table():
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
# HTML-шаблон интерфейса.
|
||||||
PAGE = """
|
PAGE = """
|
||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html lang="ru">
|
<html lang="ru">
|
||||||
@ -117,6 +120,7 @@ def index():
|
|||||||
content = request.form.get("txt_content") or "Это Flask сделал"
|
content = request.form.get("txt_content") or "Это Flask сделал"
|
||||||
try:
|
try:
|
||||||
with get_conn() as conn, conn.cursor() as cur:
|
with get_conn() as conn, conn.cursor() as cur:
|
||||||
|
# Проверка дубликатов: не вставляем повтор за короткое время.
|
||||||
cur.execute(
|
cur.execute(
|
||||||
"SELECT test_data, created_at FROM nubes_test_table ORDER BY id DESC LIMIT 1"
|
"SELECT test_data, created_at FROM nubes_test_table ORDER BY id DESC LIMIT 1"
|
||||||
)
|
)
|
||||||
@ -152,6 +156,7 @@ def index():
|
|||||||
|
|
||||||
@app.post("/update")
|
@app.post("/update")
|
||||||
def update():
|
def update():
|
||||||
|
# Обновление записи по id.
|
||||||
with get_conn() as conn, conn.cursor() as cur:
|
with get_conn() as conn, conn.cursor() as cur:
|
||||||
cur.execute(
|
cur.execute(
|
||||||
"UPDATE nubes_test_table SET test_data=%s WHERE id=%s",
|
"UPDATE nubes_test_table SET test_data=%s WHERE id=%s",
|
||||||
@ -162,10 +167,12 @@ def update():
|
|||||||
|
|
||||||
@app.post("/delete")
|
@app.post("/delete")
|
||||||
def delete():
|
def delete():
|
||||||
|
# Удаление записи по id.
|
||||||
with get_conn() as conn, conn.cursor() as cur:
|
with get_conn() as conn, conn.cursor() as cur:
|
||||||
cur.execute("DELETE FROM nubes_test_table WHERE id=%s", (request.form.get("id"),))
|
cur.execute("DELETE FROM nubes_test_table WHERE id=%s", (request.form.get("id"),))
|
||||||
return redirect("/")
|
return redirect("/")
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
# Локальный запуск для отладки.
|
||||||
app.run(debug=True, host="0.0.0.0", port=5000)
|
app.run(debug=True, host="0.0.0.0", port=5000)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user