섹션 8 flask 다양한 기능: 다양한 데코레이터 before_first_request 문의
섹션 8 flask 다양한 기능: 다양한 데코레이터
3분 37초
flask_deco.py 파일 실행 시
AttributeError: 'Flask' object has no attribute 'before_first_request'. Did you mean: '_got_first_request'?
라고 에러가 뜹니다.
검색 해 보니 Flask는 2.2.x 이후로 'before_first_request'를 더 이상 사용하지 않는다고 합니다.
before_first_request 는 어떻게 대체가 되는건지... 정보 검색이 어렵습니다.
어떻게 하면 될까요? 도와주세요~
Answer 3
0
안녕하세요. 답변 도우미입니다.
이번 기회에 해당 영상도 새로 찍어서 업데이트하였고, 자료도 새로 다시 업데이트하여 업로드하였습니다.
관련 자료와 영상을 보시면 보다 선명히 이해하실 수 있으실 것 같습니다.
그래도 이슈가 있으시면 dream@fun-coding.org 로 메일로 가볍게 이야기해주시면 또 설명 드리겠습니다.
감사합니다.
0
안녕하세요. 답변 도우미입니다.
말씀하신 부분 다시 확인해보니, 제가 드린 자료에 이미 상세히 버전별 가이드를 넣어놓았습니다. 수업자료에서 다음 강의시 함께 보시는 다음 주피터노트북 파일에 상세히 추가 설명과 예제를 넣어놓았습니다.
7_flask_others.ipynb
괜찮으시면 해당 자료를 꼭 확인해보시면 좋을 것 같습니다. 그래도 이슈가 있으시면 dream@fun-coding.org 로 메일로 가볍게 이야기해주시면 또 설명 드리겠습니다.
감사합니다.
0
안녕하세요. 답변 도우미입니다.
우선 불편을 드려 죄송합니다. 관련 부분은 좀더 검토해서, 조만간 자료등으로 업데이트하겠습니다.
Flask 2.2.x 버전 이후로 before_first_request 데코레이터는 더 이상 지원되지 않으며, 해당 기능을 대체하기 위한 새로운 방식이 도입되었습니다. 이 문제를 해결하기 위해서는 기존의 before_first_request를 대체하는 방법을 사용해야 합니다.
before_first_request 대신 before_request를 사용하면 됩니다. before_request는 첫 번째 요청뿐만 아니라, 매 요청 전에 실행되기 때문에 이를 적절히 처리하여 첫 번째 요청에만 실행되도록 코드를 작성할 수 있습니다.
해결 방법:
기존 코드:
from flask import Flask
app = Flask(__name__)
@app.before_first_request
def initialize():
print("이 함수는 첫 번째 요청 전에만 실행됩니다.")대체 코드:
from flask import Flask
app = Flask(__name__)
# 첫 번째 요청 여부를 확인하기 위한 플래그를 사용
first_request_handled = False
@app.before_request
def initialize():
global first_request_handled
if not first_request_handled:
print("이 함수는 첫 번째 요청 전에만 실행됩니다.")
first_request_handled = True설명:
before_request데코레이터는 모든 요청 전에 실행됩니다.first_request_handled플래그를 사용하여 첫 번째 요청 시에만 로직이 실행되도록 제한합니다.첫 번째 요청이 처리되면
first_request_handled를True로 변경하여 이후 요청에서는 실행되지 않도록 설정합니다.
이 방식으로 before_first_request와 동일한 기능을 구현할 수 있습니다.
감사합니다. 잔재미코딩 드림
강의 자료 어디서 다운받나요? 없는데요..
0
150
1
강의 영상은 안나오고 소리만 나옵니다.
0
177
1
섹션 6 인증 failed 질문
0
153
1
192.168.0.12:8085??
0
155
1
04_flask_ABTest에서 blog_abtest.py 실행 시 오류입니다.
0
171
1
수업내용 질문 건
0
186
1
brew로 mysql 설치 후 서버 실행할 때, 터미널에서 anaconda bin 참조하는 문제
0
663
2
crossorigin 프로퍼티에 대해서 질문드립니다.
0
288
1
강의자료 다운로드 문의드립니다.
1
267
1
갑자기 웹 서버 띄울때 이상하게 나옵니다
0
313
1
가장빠른 Vue와 flask, 그리고 REST API 1 강의 질문입니다. (2)
0
347
1
가장빠른 Vue와 flask, 그리고 REST API 1 강의 질문입니다.
0
322
2
Fast api 추가 강좌 개설여부 질문드립니다!.
0
316
2
flask_cors설치 오류
0
618
2
부스트랩 html 다운
0
258
1
혹시 강의자료 공유가 가능한가요?
0
354
1
소스코드는 어디에 있을까요??
1
254
1
안녕하세요 몇가지 질문이 있습니다.
0
339
1
동적함수생성 질문드립니다.
1
631
2
(강의명) flask 로 Rest API 구현과 테스트 실행 : 오류 문의
0
577
1
백엔드 데코레이터 2 강의에 도전 문제 질문드립니다
0
289
1
몽고 DB 공식홈페이지 403 접속 에러 발생합니다.
1
625
3
04._flask_ABTest Pycharm 에서 실행오류
0
491
1
WinError 10013 ,오류 해결 가능할까요?
0
4112
1

