강의 7분 1초 , current_user 문의 드립니다.
217
작성한 질문수 90
데이브 선생님안녕하세요.
늘 말씀드리지만, 덕분에, 플래스크를 많이 이해 하게 되었습니다.
질문을 하고 잘 싶은데, 질문을 하는것도 어렵네요.
제가 생각하는 것을 모두 설명하면 질문이 더 난해해 질것 같아서
요약해서 질문 드려볼게요~
current_user는
User.get() 함수로 : user_id로 찾아서 리턴한 user 객체가 current_user가 될수도있고
User.find() 함수로 : user_email로 찾아서 리턴한 user 개체가
current_user가 될수도 있고
User.create() 함수로 : user 객체를 생성하거, 찾아서 리턴한
user 객체가 current_user 가 되기도 하는거 같은데
제가 이해한것이 맞는지 궁금하여서 문의 드립니다.
갑자기 너무 멘붕이 왔습니다. ㅠㅠ
답변 1
0
안녕하세요. 항상 열심히 하시는 모습 응원드립니다.
복잡한 부분이긴 해요. 솔직히 말씀드리면, 저도 한~~참 전에 작성한 코드라서( ..;) , 한참을 다시 보고 있었는데요. 완벽하게 맞는지 살짝 저도 고민이 되는데요.
최대한 설명을 드리면, 기본적으로 current_user 라는 것은 flask_login 이라는 라이브러리에서 제공해주는 객체입니다. 해당 웹페이지에 접속하면, 자동으로 세션이 만들어지고, 해당 세션에 해당하는 사용자 객체 정보를 current_user 만 지칭하면 언제든 가지고 올 수 있게끔 한 것인데요.
이 사용자 세션이 만들어질려면 flask_login 라이브러리의 login_user 메서드를 호출해야 해요. 이 때 사용자 객체 정보를 넣어줘야 하는데요. 저희는 사용자 정보를 따로 DB 로 추가 정보(예를 들어 email)와 함께 별도로 관리하고 있잖아요. 그래서 해당 정보를 가져오거나, 신규 사용자면, 해당 사용자를 추가해주는 작업을 편리하게 하기 위해 User 라는 클래스에 static method 를 get, find 등을 만든 것이고요. 이를 통해 사용자 정보를 찾아오고, 이 객체를 login_user 에 넣어주면 current_user 로 해당 사용자 정보를 사용할 수 있다 라고 보시면 좋을 것 같아요. 그러다보니까 User.create 를 하든, User.find 를 하든, current_user 와 동일하게 보실 수 있으실 것 같습니다.
감사합니다.
강의 자료 어디서 다운받나요? 없는데요..
0
174
1
강의 영상은 안나오고 소리만 나옵니다.
0
196
1
섹션 6 인증 failed 질문
0
167
1
섹션 8 flask 다양한 기능: 다양한 데코레이터 before_first_request 문의
0
384
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
694
2
crossorigin 프로퍼티에 대해서 질문드립니다.
0
295
1
강의자료 다운로드 문의드립니다.
1
283
1
갑자기 웹 서버 띄울때 이상하게 나옵니다
0
322
1
가장빠른 Vue와 flask, 그리고 REST API 1 강의 질문입니다. (2)
0
353
1
가장빠른 Vue와 flask, 그리고 REST API 1 강의 질문입니다.
0
335
2
Fast api 추가 강좌 개설여부 질문드립니다!.
0
330
2
flask_cors설치 오류
0
631
2
부스트랩 html 다운
0
265
1
혹시 강의자료 공유가 가능한가요?
0
365
1
소스코드는 어디에 있을까요??
1
261
1
안녕하세요 몇가지 질문이 있습니다.
0
346
1
동적함수생성 질문드립니다.
1
646
2
(강의명) flask 로 Rest API 구현과 테스트 실행 : 오류 문의
0
585
1
백엔드 데코레이터 2 강의에 도전 문제 질문드립니다
0
294
1
몽고 DB 공식홈페이지 403 접속 에러 발생합니다.
1
642
3
04._flask_ABTest Pycharm 에서 실행오류
0
496
1





