@app.route("/login",methods=["GET","POST"])
def login():
form = LoginForm(request.form)
if request.method == "POST":
user_id = form.user_id.data
password_entered = form.password.data
cursor = mysql.connection.cursor()
sorgu = "Select * From users where user_id = %s"
cursor.execute(sorgu,(user_id,))
result = cursor.execute(sorgu,(user_id,))
if result > 0:
data = cursor.fetchone()
real_password = data["password"]
if sha256_crypt.verify(password_entered,real_password):
flash("Login Successful","success")
session["logged_in"] = True
user_name = data["name"]
session["name"] = user_name
session["id"] = user_id
return redirect(url_for("index"))
else:
flash("Password is Wrong","danger")
else:
flash("No Such User Can Be Found","danger")
return redirect(url_for("login"))
return render_template("login.html",form=form)
@app.route("/panel",methods = ["POST","GET"])
def userpanel():
if request.method == "GET":
cursor = mysql.connection.cursor()
query = "Select * from users where user_id = %s"
cursor.execute(query,(session["id"],))
userData = cursor.fetchone()
form = RegisterForm()
form.name.data = userData["name"]
form.email.data = userData["email"]
return render_template("userpanel.html",form = form)
我尝试为user_id添加会话,但是烧瓶在userpanel函数中为我的查询提高了KeyError:'id'。 但是session [“ name”]正在工作。你能帮我吗?
答案 0 :(得分:1)
我解决了这个问题。 用户登录后,会话密钥部分已添加到代码中。用户注销并再次登录时,User_id信息已添加到会话密钥中。