python flask 폴더 구조 및 __init__.py

2024. 3. 5. 10:05·프로그래밍 일기/Python & Flask
반응형

일반적인 flask 폴더 구조

board/
  | app.py
  | config.py
  | requirements.txt
  | migrations/
  | venv/
  | board_app/
     | __init__.py
     | models/
         | __init__.py
         | model.py
     | schemas/
         | __init__.py
         | schema.py
     | static/
         | css/ 
         | js/ 
             | detail.js
             | main.js
     | templates/
         | detail.html
         | main.html
     | views/
         | __init__.py
         | route.py
     | apis/
         | __init__.py
         | api.py

- app.py: Flask 애플리케이션의 진입점입니다.
- config.py: Flask 애플리케이션의 설정을 정의하는 파일입니다.
- requirements.txt: 프로젝트에 필요한 Python 패키지들의 목록을 담은 파일입니다.
- migrations/: 데이터베이스 마이그레이션 스크립트를 저장하는 디렉토리입니다.
- venv/: 가상 환경 디렉토리입니다.
- board_app/: Flask 애플리케이션의 메인 모듈입니다.
   - models/: 데이터베이스 모델을 정의하는 모듈들을 저장합니다.
   - schemas/: 데이터 직렬화를 위한 Marshmallow 스키마를 정의하는 모듈들을 저장합니다.
   - static/: 정적 파일들(css, js 등)을 저장하는 디렉토리입니다.
   - templates/: HTML 템플릿 파일들을 저장하는 디렉토리입니다.
   - views/: Flask 뷰 함수를 정의하는 모듈들을 저장합니다.
   - apis/: API 엔드포인트를 정의하는 모듈들을 저장합니다.

venv와 migrations 폴더만 자동으로 생성되며 나머지는 직접 생성해야합니다. 하나하나 생성해야하는 번거러움이 있지만 그만큼 자유도가 높습니다.


__init__.py 란

__init__.py 파일은 파이썬에서 패키지로써 인식되도록 하는 특별한 파일입니다. 이 파일은 해당 디렉토리가 패키지임을 나타내며, 패키지를 초기화하는 데 사용될 수 있습니다.

주로 다음과 같은 목적으로 사용됩니다.

1. 패키지 초기화: 패키지에 필요한 초기화 코드를 작성합니다. 이 코드는 패키지를 사용할 때 자동으로 실행됩니다.
2. 모듈 임포트: 패키지 내의 모듈들을 다른 파일에서 임포트할 수 있도록 합니다.
3. 변수, 함수, 클래스 등 정의: 패키지 수준의 변수, 함수, 클래스 등을 정의할 수 있습니다.

반응형
저작자표시

'프로그래밍 일기 > Python & Flask' 카테고리의 다른 글

Python html to pdf (render_template, pdfkit, wkhtmltopdf) 방법  (0) 2024.05.03
Python Flask 게시판 CRUD 웹 프로젝트 구현, 기본 구조 이해  (0) 2024.03.05
'프로그래밍 일기/Python & Flask' 카테고리의 다른 글
  • Python html to pdf (render_template, pdfkit, wkhtmltopdf) 방법
  • Python Flask 게시판 CRUD 웹 프로젝트 구현, 기본 구조 이해
MakeMe
MakeMe
제가 포스팅한 글 중 잘못된 부분이 있으면 알려주세요!
  • MakeMe
    Developer blog
    MakeMe
    • 모든 글 (71)
      • 프로그래밍 일기 (57)
        • Java & Spring (21)
        • Python & Flask (3)
        • Linux (12)
        • Front-End (10)
        • DB & SQL (6)
        • Git (3)
        • IDE (2)
      • 자격증 (7)
        • 정보처리기능사 (2)
        • SQLD (1)
        • SW개발_L5 (1)
        • AWS (3)
      • 독립일기 (7)
        • 중소기업청년대출 (7)
  • 인기 글

  • 태그

    젠킨스 자동 배포
    springboot
    AWS
    nuxt
    IntelliJ
    중기청서류
    스프링
    고용보험내역서
    중기청필수서류
    Spring
    인텔리제이
    DBeaver
    중기청필요서류
    MYSQL
    중기청후기
    넉스트
    flask
    스프링부트
    자바
    젠킨스 우분투 설치
    Vue
    자바환경변수
    nuxt3
    java
    psql
    중소기업청년대출
    DB
    건강보험자격득실확인서
    flask 세팅
    자동배포설정
  • hELLO· Designed By정상우.v4.10.1
MakeMe
python flask 폴더 구조 및 __init__.py
상단으로

티스토리툴바