用neo4j实现Flask登录
我正在尝试用neo4j实现Flask登录。正在尝试使用此工具实现 我已经将四个方法添加到用户类中用neo4j实现Flask登录,flask,neo4j,py2neo,Flask,Neo4j,Py2neo,我正在尝试用neo4j实现Flask登录。正在尝试使用此工具实现 我已经将四个方法添加到用户类中 class User: def __init__(self, username): self.username = username def is_authenticated(self): return True def is_active(self): return True def is_anonymous(
class User:
def __init__(self, username):
self.username = username
def is_authenticated(self):
return True
def is_active(self):
return True
def is_anonymous(self):
return False
def get_id(self):
return unicode(self.id)
def find(self):
user = graph.find_one("User", "username", self.username)
return user
当我尝试调用login_user(user)时,我得到一个错误
def login():
if request.method == 'POST':
username = request.form['username']
password = request.form['password']
if not User(username).verify_password(password):
flash('Invalid login.')
else:
session['username'] = username
flash('Logged in.')
user = User(username).find()
login_user(user)
return redirect(url_for('index'))
return render_template('login.html')
我得到这个错误
文件“/../auth/view.py”,第134行,登录登录用户(用户)
文件“/../lib/python3.4/site packages/flask\u login.py”,第709行,登录用户
如果未强制且未激活user.u:
AttributeError:“节点”对象没有属性“处于活动状态” 另外,我不确定如何定义加载用户回调函数
@login_manager.user_loader
def load_user(user_id):
return User.get(user_id)
我找不到任何涉及此主题的文档。有人可以帮助实现这一点或指向文档吗?方法
find\u one
返回一个节点。您可能希望返回该节点的username
属性,而不是整个实体。因此,您需要类似以下内容:
def find(self):
user = graph.find_one("User", "username", self.username)
# TODO: handle the case where user is None (user not found)
return user["username"]
find_one
方法返回一个节点
。您可能希望返回该节点的username
属性,而不是整个实体。因此,您需要类似以下内容:
def find(self):
user = graph.find_one("User", "username", self.username)
# TODO: handle the case where user is None (user not found)
return user["username"]
仍然不能解决问题。现在,我得到了这个错误-AttributeError:'str'对象没有属性'is_active'。我想与Neo4j相比,其他DBs中用户类的表示方式有所不同。查看login_user的定义,它说“登录用户。您应该将实际的用户对象传递给此”。它试图访问用户属性“user.is\u active”。是否可以返回节点的对象表示形式?。例如,mongoDb的“find_one”方法返回Document的对象表示仍然不能解决这个问题。现在,我得到了这个错误-AttributeError:'str'对象没有属性'is_active'。我想与Neo4j相比,其他DBs中用户类的表示方式有所不同。查看login_user的定义,它说“登录用户。您应该将实际的用户对象传递给此”。它试图访问用户属性“user.is\u active”。是否可以返回节点的对象表示形式?。例如,mongoDb“find_one”方法返回文档的对象表示形式