我正在做一个Flask登录系统(不使用内置的LoginManager)。 我有一个查询来检查用户名和密码:
query = s.query(Users).filter(Users.email.in_([POST_email]), Users.password.in_([POST_PASSWORD]) )
result = query.first()
此查询无效。它在控制台中返回None。请提供查询以检查表单中给出的数据是否与数据库值匹配。
**
**
这是功能代码。
def do_admin_login():
POST_USERNAME = str(request.form['username'])
POST_PASSWORD = str(request.form['password'])
Session = sessionmaker(bind=engine)
s = Session()
query = s.query(Users).filter(Users.email.in_([POST_USERNAME]), Users.password.in_([POST_PASSWORD]) )
result = query.first()
if result:
session['logged_in'] = True
else:
flash('wrong password!')
return home()
POST_USERNAME
和
POST_PASSWORD
包含从HTML页面中的表单接收的值。我使用Postgres数据库。
答案 0 :(得分:1)
试试此代码
query = s.query(Users).filter(Users.email==POST_USERNAME, Users.password==POST_PASSWORD)