inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

남박사의 파이썬으로 실전 웹사이트 만들기

플라스크 프로젝트를 모듈화 하여 패키징 하기

모듈화후 import 문의 드려요

208

가후

작성한 질문수 90

1

외와 같이 모듈화 후에

 

run.py 에  import 를

=> from main import app

 

__init__.py 에 import

=> from main import app

이렇게 임포트 하셨습니다

약 5분 6초 정도 내용입니다

 

run.py 위치와

__init__.py 의 위치가 다른데

같은 코드로 import를 한다는게 이해하는게 어렵습니다.

__init__.py는 main폴더와  같은거니깐 

그럼 run.py 와 mian 폴더의 위치가 같아 진다고 생각하면 될까요?

 

근데 이렇게 생각하면, 

추후에 코드가

board.py 에서도 

from main import * 을 하는데

 

run.py 와 board.py의 위치는 다른데

왜 둘다 from main 으로 import가 가능한지 모르겠습니다

모듈 임포트가 너무 어렵네요 ㅠㅠ

 

 

python

답변 1

1

남박사

파이썬에서 패키지를 생성할때 폴더에 __init__.py 파일을 생성하는 규칙이 있습니다. 예를 들어 a 라는 폴더에 __init__.py 파일이 존재한다면 import a 는 패키지처럼 불러오기가 가능해집니다.

run.py 는 main 폴더와 같은 레벨에 존재하고 있는 상태인데 main 폴더 하위에 __init__.py 를 생성함으로 인해서 main 폴더 내에 있는 모든 파일들은 main 이라는 덩어리로 접근이 가능해지게 됩니다.

그래서 실제 패키지(pip 로 설치하는..) 폴더를 보면 __init__.py 파일에 아무런 내용이 없는 파일이 존재하는 이유도 폴더 내의 .py 파일을 하나의 덩어리로 묶어서 접근이 가능하게 하기 위함을 알 수 있습니다.

iis 접속후 자동으로 로그인 창이 나오도록 설정이 기능한가요?

0

85

2

리스트 이동 시 창 에러 발생

0

90

1

배포후 회원 등록 후 로그인 에러...

0

88

2

내부 서버 오류

0

87

2

app.config["MONGO_URI"] = "mongodb://localhost:27017/pm_db"

0

65

2

DB 검색하면 데이터가 없습니다. 라고 나와요. 5시간을 찾아봐도 모르겠어서 문의드려봅니다.

0

63

1

몽고db studio3T를 깔았는데

0

72

2

flake8과 linter

0

91

3

500이 뜹니다.

0

66

2

첨부파일 삭제

0

73

2

검색기능 질문

0

75

2

google.py

0

75

2

Studio 3T에 DB insert가 되지 않는 문제를 해결하지 못하고 있습니다 ㅠ

0

93

3

혹시 전체 코드 공개되어 있나요?

0

104

1

join.html 의 form 태그값 을 member_join() 에서 처리못함.

0

112

1

google.py 몽고db 샘플데이터 만들기

0

111

2

flake8 설치 이후 명령팔레트에서 linter가 안보입니다.

0

254

2

파이썬으로 만들어서 웹호스팅에 올릴경우

0

316

1

현재 구글검색 무한스크롤변경 문의합니다

0

306

1

몽고디비아틀라스로 추가 공부해서 올립니다.

0

225

1

IIS 500.19에러

0

669

2

버전 문제도 수정했는데 결과가 안나옵니다.

0

266

1

데이터베이스 저장관련 질문입니다.

0

280

1

test가 생기지 않습니다.

0

520

3