gpt4 book ai didi

Python Flask - 如何将值从一个路由传递到另一个路由?

转载 作者:行者123 更新时间:2023-12-01 05:10:25 26 4
gpt4 key购买 nike

嗨,我是 Flask 新手,我正在尝试创建一个简单的登录功能。用户填写他们的用户名和密码(此时需要与我硬编码的用户名和密码匹配),如果他们的凭据获得批准,他们将被带到他们的个人资料页面。个人资料页面应显示消息“Hello”,后跟用户名。验证工作正常,用户被带到个人资料页面,但我无法将用户名从表单(login.html)传递到模板“profile.html”。下面是代码。我正在发送有效的代码,但没有尝试传递用户名。

谢谢!

from flask import *

SECRET_KEY = "super secret"

app = Flask(__name__)
app.config.from_object(__name__)

@app.route('/')
def index():
return render_template('login.html')

@app.route('/login', methods=['GET', 'POST'])
def login():
error = None
if request.method == 'POST':
if request.form['username'] == 'user' and request.form['password'] == 'pass':
session['loggedin'] = True
return redirect(url_for('profile'))
else:
error="Invalid credentials. Please try again."
return render_template('login.html', error=error)

@app.route('/profile')
def profile():
return render_template('profile.html')

@app.route('/logout')
def logout():
session.pop('loggedin', None)
return redirect(url_for('login'))



if __name__ == '__main__':
app.run(debug=True)

最佳答案

我认为您错过了辛苦工作的登录页面的要点。

用户将选择访问的下一个页面怎么样?您会再次发送用户名值吗?当然不是..

我建议你定义一个包含当前登录用户数据的全局变量( session ?数据库数据?),这样你就可以使用所有用户的数据,而不仅仅是他的用户名(年龄?帖子?等)。 .)

最后一件事,我使用 flask-login ,我真的很喜欢它,它可以简单地管理我的登录 session / View ,你猜怎么着?有current_user与当前登录的用户数据:)

Flask 登录摘要:

Flask-Login provides user session management for Flask.

It handles the common tasks of logging in, logging out, and remembering your users’ sessions over extended periods of time.

关于Python Flask - 如何将值从一个路由传递到另一个路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24335520/

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