inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]

user_loader 관련

306

eotjd155

작성한 질문수 1

0

안녕하세요. 블로그 구독 기능 구현하기 강의 13분 50초 경에 밑의 blog_abtest.py 파일에서 load_user 함수에 user_id 인자는 flask login이 http request에서 자동으로 id 추출한다고 하셨는데 궁금한 게 있습니다.

1. 추출되는 대상은 User(UserMixin)에서 만든 user 객체인가요 ?

2. 자동으로 id를 추출한다고 했는데 만약 대상이 id가 아닌 다른걸로 하고 싶다면 어떻게 설정하나요? 예를 들어 email을 받아서 User.get함수에서 인자로 사용하고 싶다거나?

@login_manager.user_loader
def load_user(user_id):
    return User.get(user_id)

rest-api python flask

답변 1

1

잔재미코딩 DaveLee

안녕하세요. 답변도우미입니다.

1. 추출대상은 User.get() 의 리턴값인 User 객체입니다. 다음 실제 User 클래스를 보시면 이해하실 수 있지 않을까 합니다.

@staticmethod

def get(user_id):

mysql_db = conn_mysqldb()

db_cursor = mysql_db.cursor()

sql = "SELECT * FROM user_info WHERE USER_ID = '" + str(user_id) + "'"

# print (sql)

db_cursor.execute(sql)

user = db_cursor.fetchone()

if not user:

return None

user = User(user_id=user[0], user_email=user[1], blog_id=user[2])

return user

2. email 로 User 객체를 가져오고 싶다면, 별도로 이와 관련한 메서드를 구현해야할 것 같은데요. 아마도 유사한 메서드가 다음 User 의 find 메서드가 아닐까 하는데요. 이와 같이 별도로 메서드를 구현하면 될 것 같습니다.

def find(user_email):

mysql_db = conn_mysqldb()

db_cursor = mysql_db.cursor()

sql = "SELECT * FROM user_info WHERE USER_EMAIL = '" + \

str(user_email) + "'"

# print (sql)

db_cursor.execute(sql)

user = db_cursor.fetchone()

if not user:

return None

user = User(user_id=user[0], user_email=user[1], blog_id=user[2])

return user

감사합니다.

강의 자료 어디서 다운받나요? 없는데요..

0

173

1

강의 영상은 안나오고 소리만 나옵니다.

0

195

1

섹션 6 인증 failed 질문

0

166

1

섹션 8 flask 다양한 기능: 다양한 데코레이터 before_first_request 문의

0

382

3

192.168.0.12:8085??

0

162

1

04_flask_ABTest에서 blog_abtest.py 실행 시 오류입니다.

0

177

1

수업내용 질문 건

0

197

1

brew로 mysql 설치 후 서버 실행할 때, 터미널에서 anaconda bin 참조하는 문제

0

693

2

crossorigin 프로퍼티에 대해서 질문드립니다.

0

294

1

강의자료 다운로드 문의드립니다.

1

282

1

갑자기 웹 서버 띄울때 이상하게 나옵니다

0

322

1

가장빠른 Vue와 flask, 그리고 REST API 1 강의 질문입니다. (2)

0

353

1

가장빠른 Vue와 flask, 그리고 REST API 1 강의 질문입니다.

0

333

2

Fast api 추가 강좌 개설여부 질문드립니다!.

0

330

2

flask_cors설치 오류

0

630

2

부스트랩 html 다운

0

264

1

혹시 강의자료 공유가 가능한가요?

0

365

1

소스코드는 어디에 있을까요??

1

261

1

안녕하세요 몇가지 질문이 있습니다.

0

346

1

동적함수생성 질문드립니다.

1

643

2

(강의명) flask 로 Rest API 구현과 테스트 실행 : 오류 문의

0

585

1

백엔드 데코레이터 2 강의에 도전 문제 질문드립니다

0

294

1

몽고 DB 공식홈페이지 403 접속 에러 발생합니다.

1

642

3

04._flask_ABTest Pycharm 에서 실행오류

0

496

1