我的应用程序中的 Login_manager 存在问题。错误就在这里抛出
def authenticate(form):
if form.validate_on_submit():
try:
user = session.query(User).filter(User.email == form.email.data).first()
except :# models.DoesNotExist:
flash("Your email or password does not match !", "error")
else :
if check_password_hash(user.password,form.password.data):
login_user(user)
flash("You've been logged in", "success")
return redirect(url_for('index'))
else :
flash("Your email or password does not match !", "error")
return render_template('login.html',form = form)
问题提出于
login_user(用户)
我的login_manager在身份验证下配置如下。
if __name__ == '__main__':
app.secret_key = 'Innalhamdulillah.nahmaduhu.taalanastainubihi.wanastagfiruh!'
app.run(debug = DEBUG, host=HOST, port= PORT)
login_manager = LoginManager()
login_manager.init_app(app)
login_manager.login_view = 'login'
@login_manager.user_loader
def load_user(userid):
try:
return session.query(User).filter(User.id == userid).first()
except models.DoesNotExist :
return None
在我的声明中
from flask.ext.login import LoginManager,login_user
请问我该如何解决这个问题,原因是什么?我如何更好地理解它?我怀疑我的 def load_user(userid):
因为我不太清楚,这是我的第一次。任何帮助将不胜感激。
最佳答案
您在初始化 LoginManager 之前运行您的应用程序。 所以你应该:
app.secret_key = 'xxxxyyyyyzzzzz'
login_manager = LoginManager()
login_manager.init_app(app)
login_manager.login_view = 'login'
app.run(debug = DEBUG, host=HOST, port= PORT)
关于python - 属性错误: 'Flask' object has no attribute 'login_manager' -- Login_Manager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31067249/