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()
我正在使用 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()