Flask - SQLAlchemy:用于检查用户名和密码的代码

时间:2016-07-03 18:30:57

标签: python login flask sqlalchemy

我正在做一个Flask登录系统(不使用内置的LoginManager)。 我有一个查询来检查用户名和密码:

 query = s.query(Users).filter(Users.email.in_([POST_email]), Users.password.in_([POST_PASSWORD]) )
 result = query.first()

此查询无效。它在控制台中返回None。请提供查询以检查表单中给出的数据是否与数据库值匹配。

**

  1. 此处用户是数据模型。
  2. 电子邮件和密码是两列
  3. POST_email和POST_password是从表单
  4. 收到的两个值
  5. 是Session的实例     s = Session()
  6. **

    这是功能代码。

    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数据库。

1 个答案:

答案 0 :(得分:1)

试试此代码

query = s.query(Users).filter(Users.email==POST_USERNAME, Users.password==POST_PASSWORD)