sqlite3注册数据库不更新

sqlite3 registration database not updating

我正在使用 sqlite 在 Flask 中制作一个简单的注册页面。我手动做了一个测试 运行 并且成功了:

import sqlite3
db = sqlite3.connect('database.db')
c = db.cursor()

username = "bb"
password = "vv"

c.execute("INSERT INTO users (username, password) VALUES (?, ?)", (username, password))
db.commit()

但我无法在我的 app.py 中使用它(下面是一个大大简化的版本)

@app.route("/register", methods=["GET", "POST"])
def register():
    if request.method == "POST":
        username = request.form.get("username")
        password = request.form.get("password")
        confirmation = request.form.get("confirmation")

        try:
            c.execute("INSERT INTO users (username, password) VALUES (?, ?)", (username, password))
            db.commit()
            return render_template("login.html")
        except:
            return apology("username is already registered")

    else:
        return render_template("register.html")

我被重定向到我的道歉页面(用户名已经注册)。我的 database.db 是空的 :( 对于社区和编码的新手,我们将不胜感激。

问题:“在一个线程中创建的 SQLite 对象只能在同一个线程中使用。”

我刚刚添加了光标,现在可以使用了

c = c = db.cursor()