gpt4 book ai didi

python - 带 ID 的 Flask 用户页面

转载 作者:太空宇宙 更新时间:2023-11-03 17:38:01 24 4
gpt4 key购买 nike

我想要一个用户页面(/users/)。当您仅打开/users/时,您应该看到您自己的用户配置文件(如果您已登录,否则:错误)当您执行 get 命令时,例如/users/?uid=2999 ,它应该使用 uid=2999 来获取用户的用户信息。获取工作正常,如果您登录,您会看到自己的个人资料也工作正常。但如果您未登录,则会出现以下错误:

Bad Request

The browser (or proxy) sent a request that this server could not understand.

这是代码片段:

@app.route('/users/')
def users():
if 'logged_in' in session:
ret = 0
user = session['uid']
c, conn = dbconnect.conn()
data = c.execute("SELECT * FROM users WHERE uid = (%s)", (user))
if int(data) == 0:
flash("Error! Please send a report at martin@tekkkz.com!")
else:
data = c.fetchone()
ret = 1
c.close()
conn.close()
gc.collect()
if ret:
return render_template("users.html", nav=2, user=data)
elif request.args['uid']:
ret = 0
user = request.args['uid']
c, conn = dbconnect.conn()
data = c.execute("SELECT * FROM users WHERE uid = (%s)", (user))
if int(data) == 0:
flash("Invalid User-ID. This user doesn't exist!")
else:
data = c.fetchone()
ret = 1
c.close()
conn.close()
gc.collect()
if ret:
return render_template("users.html", nav=2, user=data)
else:
flash("You need to be logged in to see your own profile!")
return redirect(url_for('login'))

为什么出现Bad Reqquest错误?

最佳答案

问题出在这一行,当您未登录且“uid”不在查询字符串中时。

elif request.args['uid']:

当 Flask 在参数中找不到键时,它会引发 HTTP 错误。

相反,你应该有

elif 'uid' in request.args:

关于python - 带 ID 的 Flask 用户页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30952764/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com