user_loader 관련
306
작성한 질문수 1
안녕하세요. 블로그 구독 기능 구현하기 강의 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)
답변 1
1
안녕하세요. 답변도우미입니다.
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





