【发布时间】:2018-03-05 23:39:17
【问题描述】:
我正在尝试创建一个非常基本的登录。为此,我需要将与“用户名”匹配的“id”存储在“用户”表中。
不管我尝试了什么,它只会给我一个列表。
我正在学习在线课程,但我不能使用大多数 SQLAlchemy 快捷方式——只能使用老式的 SQL 命令。我正在使用 Python 3 和 Flask 来构建它。
@app.route("/login", methods=["GET","POST"])
def login():
if request.method == "GET":
return render_template("login.html")
if request.method == "POST":
#find user in users table
username = request.form["username"]
rows = db.execute("SELECT id FROM users WHERE username=:username",{"username": username}).fetchall()
session["user_id"] = rows.id
return render_template("success.html", rows=rows)
如果 id 为 1,它会直接返回:'(1,)'
【问题讨论】:
-
您可以尝试使用
fetchval()而不是fetchall()。 (fetchval()是对 DB API 的 pyodbc 扩展。)