2016-07-03 13 views
-1

Flaskログインシステムを使用しています(組み込みLoginManagerを使用しない)。Flask - SQLAlchemy:ユーザー名とパスワードを確認するコード

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

このクエリが動作していない: は私があるユーザー名とパスワードを確認するためのクエリを持っています。コンソールにはNoneが返されます。フォームに記載されたデータがデータベースの値と一致するかどうかを確認するクエリを与えてください。

**

  1. ここでユーザーデータモデルです。
  2. メールアドレスとパスワードは、2つの列
  3. ある
  4. POST_emailとPOST_password
  5. Sセッション S =セッション()のインスタンスである形態から受信された2つの値は、

**

これは機能コードです。

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データベースを使用します。あなたが代わりに `` == `のin_`を使用しているのはなぜ

+3

このコードを試してみてください? – dirn

+0

[編集]に[mcve]を含めるようにしてください。 – davidism

+0

@dim 'in_' の例を見ました。だからここで使った。 – PROTOCOL

答えて

1

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

それは働いた:あなたの提案をありがとう:) – PROTOCOL

+0

歓迎.. @ Zan00657 –

+0

また感謝@アンディ –

関連する問題