2016-07-03 6 views
-1

플라스크 로그인 시스템 (inbuilt LoginManager를 사용하지 않음)을 수행하고 있습니다. I는 사용자 이름과 암호를 확인하는 질문이있다 :이 쿼리가 작동하지플라스크 - SQLAlchemy : 사용자 이름과 암호를 확인하는 코드

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

합니다. 콘솔에 None을 반환합니다. 양식에 제공된 데이터가 데이터베이스 값과 일치하는지 여부를 확인하는 쿼리를 제공하십시오.

**

다음
  1. 사용자는 데이터 모델이다.
  2. 이메일 및 비밀번호 두 열
  3. 있다
  4. POST_email 및 POST_password
  5. 의 세션 S = 세션()의 인스턴스 형태로부터 수신되는 두 개의 값은

**

이것은 기능 코드입니다.

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 데이터베이스를 사용한다.

+3

를 시도? – dirn

+0

[편집]을 포함하여 [mcve]를 포함하십시오. – davidism

+0

@dim 사용 예 : in_예를 들어 보았습니다. 그래서 여기에서 사용했습니다. – PROTOCOL

답변

1

`== 왜 당신이 사용하는`in_` 대신`의하는이 코드

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

그것은 일했다 .... 제안을 주셔서 감사합니다 :) – PROTOCOL

+0

환영합니다 .. @ Zan00657 –

+0

또한 감사합니다 @ 앤디 –

관련 문제