我使用前端的点击事件不会写入数据库

问题描述 投票:0回答:1

我有一个在 postgres 中运行的数据库,应用程序本身在 Flask 中。 我在烧瓶中有一个事件,应该将一些数据插入到我的数据库中,如下所示,但是尽管提交了数据,但数据并未显示在我的数据库中。 我该如何修复它,以便数据保留在我的数据库中。

下面是我在烧瓶中的代码

conn = psycopg2.connect(database="postgres",
                                            user="root",
                                            host='localhost',
                                            password="dbpass",
                                            port=5432)
    cur = conn.cursor()


@app.route('/')
def index():
    return render_template('index.html')

@app.route('/shift/', methods=('GET', 'POST'))
def shift():
    if request.method == 'POST':
        id = request.form['id']

        if not id:
            flash('ID is required!')
        else:
            t = datetime.now().hour
            day = datetime.now().date().isoformat()
            shift = 2
            if 8 <= t <=14:
                shift = 1
                cur.execute("INSERT INTO shift (date, employee_id, shift_number) values (%s, %s, %s)", (day, id, shift))
                conn.commit()
            return redirect(url_for('index'))

    return render_template('shift.html')

在我的前端,以防出现任何问题

<form action="" method="post">
        <label for="title">Log your shift</label>
        <br>
        <input type="text" name="id"
               placeholder="Enter work id"
               value="{{ request.form.id}}"></input>
        <br>
    <button type=”submit”> Submit </button>
</form>

谢谢你

postgresql flask psycopg2
1个回答
0
投票
        t = datetime.now().hour
        day = datetime.now().date().isoformat()
        if 8 <= t <=14:
            shift = 1
            cur.execute("INSERT INTO shift (date, employee_id, shift_number) values (%s, %s, %s)", (day, id, shift))
            conn.commit()

插入仅在命令行使用的任何时区的 8:00 到 14:00 之间完成。

© www.soinside.com 2019 - 2024. All rights reserved.