我试图了解它是如何Flask-Login工作的.
我在他们的文档中看到他们使用预先填充的用户列表.我想玩数据库存储用户列表.
但是,我不明白这个Flask-Login模块中的一些内容.
@login_manager.user_loader
def load_user(userid):
#print 'this is executed',userid
return user(userid, 'asdf')
Run Code Online (Sandbox Code Playgroud)
每次请求都会调用此代码?这用于加载我的用户对象的所有细节?
现在,我有这个代码:
@app.route('/make-login')
def make_login():
username = 'asdf'
password = 'asdf'
user_data = authenticate(username, password)
user_obj = user(user_data[0], user_data[1])
login_user(user_obj)
return render_template('make-login.html')
Run Code Online (Sandbox Code Playgroud)
当我访问/登录时,我想登录.
我的用户类:
class user(object):
def __init__(self, id, username, active=True):
self.username = username
self.id = id
#self.active = active
def is_authenticated(self):
return True
def is_active(self):
return True
def is_anonymous(self):
return False
def get_id(self):
return 5
Run Code Online (Sandbox Code Playgroud)
另外,我为验证/注册写了另外两个函数
def authenticate(username, password):
cursor = db.cursor() …Run Code Online (Sandbox Code Playgroud)