inflearn logo
강의

講義

知識共有

Python Web開発(Flask、SQLAlchemyを使用)

db、モデル2

[db, model2] inflearn 테이블 생성오류시 참고하세요.

262

pink321ryu

投稿した質問数 58

0

안녕하세요.

혹시 저처럼 안되시는 분 참고하시라고 올립니다.

 

강의시점과 현시점이 차이가 나서 그런지

강사님 화면대로 하는데 에러가 나서 구글링을 해보니,

추가로 해줘야 한다고 해서 하고 나시 성공했네요.

[에러화면]

[구글링 참고화면 ]

https://stackoverflow.com/questions/73961938/flask-sqlalchemy-db-create-all-raises-runtimeerror-working-outside-of-applicat

[수정사항]

[성공화면]

** 이후 과정에도

from application import app

app.app_context()가.push()

가 계속 필요하네요.

 

python flask sqlalchemy

回答 1

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다.

Flask 애플리케이션에서 app.app_context().push()를 사용하는 것이 필수적인 경우가 있습니다. 특히 데이터베이스와 관련된 작업을 할 때, 애플리케이션 컨텍스트 내에서 해당 작업들이 실행되어야 하기 때문입니다. 작성하신 내용을 보면, Flask의 애플리케이션 컨텍스트가 올바르게 설정되지 않아 RuntimeError가 발생한 것으로 보입니다. 이 문제를 해결하기 위해 with app.app_context(): 블록 안에서 db.create_all()를 호출하여 모델에 기반한 테이블을 생성해야 합니다.

올려주신 이미지와 본문 내용에 따라 Flask-SQLAlchemy가 3.0 버전 이상부터 데이터베이스 엔진과 세션 객체에 접근하기 위해 액티브한 Flask 애플리케이션 컨텍스트가 필요하다는 것을 알 수 있습니다. 따라서, Flask 애플리케이션 컨텍스트 내에서 db.create_all()을 호출하도록 코드를 수정하시어 정상적으로 테이블 생성이 가능해진 것 같습니다.

해당 내용을 참고하시어 향후 개발 과정에서 필요한 부분에 적용하시면 좋을 것 같습니다.

도움이 필요하시면 언제든지 추가 질문을 해주시기 바랍니다. 감사합니다!

작업형 3 유형

0

3

1

session이 점점 길어지면 어떻게 대처하나요?

0

10

1

11회 기출 유형(작업형1) 2번 정답

0

10

1

f1 score 질문

0

10

1

10회 작업형 2 인코딩 질의

0

8

1

자동화프롬프트 가져오기 에러

0

9

1

53번 강의에서 갑자기 수업노트가 없어졌습니다.

0

16

2

28:19 roc_auc이유

0

17

2

수강연장문의

0

18

2

(등록 웹 페이지 개발 3) relationship등록관련 경고문구

0

298

1

(many to many)에러문구 관련

0

378

1

(one-to-many) admin.users.all() 시 출력화면

0

387

1

use inflearn;

0

320

1

공유 템플릿

0

351

1

run이 작동이 안됩니다ㅠㅠ

0

285

1

서버를 열었을때 404 오류가 납니다

0

285

1

실습 중 질문이 있습니다.

0

574

3

BluePrint 질문입니다.

0

326

1

Project.query.get(1) 질문

0

361

2

db, model2에서 db.create_all()수행시 나타나는 오류입니다..

0

532

1

sql db중에 id 1의 정보가없습니다

0

291

1

relationship 코드위치.

0

171

1

ForeignKey 에러 관련.

0

242

3

Delete가아니고 Update강의가 올라와있네요

0

222

2