我们使用
@app.route('/login', methods=['GET', 'POST'])
def login():
...
try:
current_user = User.query.filter(School_Login.mail == form_mail).first()
if user.mail == form_mail and user.password == form_pass:
...
我们有一个 current_user 对象,它引用经过身份验证的用户的属性,例如 current_user.name、current_user.surname。
这是我们的数据模型:
class User(db.Document):
mail = db.StringField()
pass = db.StringField()
name = db.StringField()
...
这是问题的开始:我们创建了一个显示用户名、姓氏等的用户仪表板。我们想要访问我们在登录函数中创建的名称为 current_user 的对象,但我们无法从 user_dashboard 函数访问 current_user。我们也知道我们不能从函数中访问局部变量,但是我们错过了哪一点?解决这个问题的正确方法是什么?
@app.route('/user-dashboard')
@login_required
def user_dashboard():
name = current_user.name
surname = current_user.surname
return render_template('user-dashboard.html', name=name, surname=surname)
我们还查看了应用程序上下文、蓝图,但没有带有用户身份验证的 MongoAlchemy 的代码示例。