Python 属性错误:';烧瓶';对象没有属性';登录管理器';——登录管理器
我的应用程序中的登录管理器有问题。这里抛出错误Python 属性错误:';烧瓶';对象没有属性';登录管理器';——登录管理器,python,flask,Python,Flask,我的应用程序中的登录管理器有问题。这里抛出错误 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 o
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)
这个问题在会议上提出
登录用户(用户)
我的登录管理器配置在授权下面,如下所示
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\u用户(userid):
bcos我不是很清楚,这是我的第一次。任何帮助都将不胜感激。您在初始化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)
我只是在学习烧瓶,我也遇到了这个问题。我发现我没有初始化应用程序的登录管理器 所以我改变了:
login_manager = LoginManager()
到
这就解决了我的问题。所有烧瓶扩展都需要初始化。初始化登录管理器以便在应用程序中使用,如下所示:
login_manager = LoginManager()
login_manager.login_view = 'auth.login'
Exception: Missing user_loader or request_loader. Refer to http://flask-login.readthedocs.io/#how-it-works for more info.
AttributeError: 'Flask' object has no attribute 'login_manager'
别忘了这一点:
login_manager.init_app(app)
如果未初始化,将引发如下错误:
login_manager = LoginManager()
login_manager.login_view = 'auth.login'
Exception: Missing user_loader or request_loader. Refer to http://flask-login.readthedocs.io/#how-it-works for more info.
AttributeError: 'Flask' object has no attribute 'login_manager'
或者像这样:
login_manager = LoginManager()
login_manager.login_view = 'auth.login'
Exception: Missing user_loader or request_loader. Refer to http://flask-login.readthedocs.io/#how-it-works for more info.
AttributeError: 'Flask' object has no attribute 'login_manager'
或者其他
行
登录\u管理器。init\u app(app)
是这里的关键。我知道这已经在很久以前得到了回答,但是当我遇到同样的问题时,我遇到了这个线程,并且没有一个解决方案对我有效
在我的例子中,我在yonks之前构建的程序开始抛出这个异常:exception:Missing user\u loader或request\u loader。提到http://flask-login.readthedocs.io/#how-它可以获取更多信息。
经过一点故障排除,我发现是python模块:Flask Login
,我重新加载了我的电脑,再次安装我的所有软件时,Flask Login
的版本现在是0.5.0
我删除了该版本的Flask Login
,并将其替换为重新加载之前的版本,使用cmd:
pip install -Iv Flask-Login==0.4.1
还有瓦拉拉。。。。已经修好了
希望这对像我这样的人有所帮助。初始化后它不是在运行应用程序吗?我在装饰器中使用@role\u required时遇到此错误,如何解决此问题?