gpt4 book ai didi

python - 如何使用flask在多个页面中显示用户名?

转载 作者:太空宇宙 更新时间:2023-11-03 19:58:49 25 4
gpt4 key购买 nike

我遇到了一个问题,用户名没有显示在我的 Flask 应用程序下运行的所有页面上,它只在主页上运行,因为我从登录函数返回了它。但是,我不知道如何才能让所有被调用的页面都显示用户名。

在附加的代码中,deffeatured_books() 没有返回应有的用户名,而是返回 1。如何解决此问题?

flask .py

 @app.route('/')
# Gets correct username
@app.route('/index')
def home(post=1):
return render_template("index.html", username=post)

# Doesn't get the username
@app.route('/featured_books')
def featured_books(post=1):
return render_template("featured_books.html", username=post)

@app.route('/login')
def login(post=1):
if not session.get('logged_in'):
return render_template("login.html")
else:
return home(post)

@app.route('/login', methods=['POST'])
def do_login():
POST_USERNAME = str(request.form['username'])
POST_PASSWORD = str(request.form['password'])
secure_password = sha512_crypt.encrypt(POST_PASSWORD)

Session = sessionmaker(bind=engine)
s = Session()
query = s.query(User_reg).filter(User_reg.username.in_([POST_USERNAME]),
User_reg.password.in_([POST_PASSWORD]))
result = query.first()
if result:
session['logged_in'] = True
else:
flash('Wrong password!')
return login(POST_USERNAME)

最佳答案

我正在做同样的事情并遇到了你的问题。你想通了吗?

有人建议使用 Flask-Login 扩展来处理 session 管理。因为我正在开发一个简单的应用程序,所以我决定将用户名放入 session cookie 中。然后可以从另一个页面上的 session 中获取它。不过,看起来阻力最小的路径可能不是最佳选择。

将其存储在route.py中

session['user_name'] = user.firstname + ' ' + user.lastname

从 html 页面抓取它

<h3> Welcome, {{session['user_name']}}! </h3>

关于python - 如何使用flask在多个页面中显示用户名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59380641/

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