Загрузка данных


@app.route("/")
def index():
    search_tabnum = request.args.get("tabnum", "").strip()
    search_fam = request.args.get("fam", "").strip()
    try:
        conn = get_db_connection()
        cur = conn.cursor()
        query = "SELECT Tabnum, fam, imja, otch, nam_dol FROM rabotnik WHERE 1=1"
        params = []
        if search_tabnum:
            query += " AND Tabnum = %s"
            params.append(search_tabnum)
        if search_fam:
            query += " AND fam ILIKE %s"
            params.append(f"%{search_fam}%")
        query += " ORDER BY fam, imja"
        cur.execute(query, params)
        rows = cur.fetchall()
        cur.close()
        conn.close()

        # Русские названия столбцов (порядок соответствует SELECT)
        column_names = ['Таб. номер', 'Фамилия', 'Имя', 'Отчество', 'Должность']

        return render_template("index.html", rows=rows, column_names=column_names,
                               search_tabnum=search_tabnum, search_fam=search_fam)
    except Exception as e:
        return f"<h2>Ошибка загрузки работников</h2><pre>{traceback.format_exc()}</pre>"