본문 바로가기

Python

Flask 2 : 프로젝트 구조

2019/08/27 - [Python] - Flask 1 : Tutorial 소개

2019/08/28 - [Python] - Flask 2 : 프로젝트 구조

2019/08/28 - [Python] - Flask 3 : 어플리케이션 설치

2019/08/28 - [Python] - Flask 4 : DB 구축

2019/08/28 - [Python] - Flask 5 : 블루프린트와 뷰

2019/09/06 - [Python] - Flask 6 : 템플릿

2019/09/08 - [Python] - Flask 7 : 정적 파일

2019/10/03 - [Python] - Flask 8 : 블로그 블루프린트


2019년 여름 현재 시중에 나와있는 Flask 책은 추천하기에 마땅치 않아, Flask 공식 웹사이트에서 제공하는 튜토리얼로 공부하시기를 권해드립니다. 하지만, 공식 웹사이트는 영어라는거...

그래서 Flask 공식 웹사이트 튜토리얼에 대한 번역을 올립니다. 원문의 흐름에 따라 번역했고, 이해를 돕기 위해 직역보다는 의역을 합니다.


원문 : https://flask.palletsprojects.com/en/1.1.x/tutorial/



프로젝트 구조

프로젝트 디렉토리를 만들기 위해 터미널을 열어 아래 명령어를 입력합니다:

$ mkdir flask-tutorial
$ cd flask-tutorial

그리고 파이썬 가상환경을 설치하고 프로젝트에 필요한 Flask 팩키지를 설치합니다.

이 튜토리얼은 이제부터 당신이  flask-tutorial 디렉토리에서 작업하고 있다고 가정하고 진행합니다. 따라서, 앞으로 언급하는 모든 파일명은 이 디렉토리부터 시작하는 상대경로로 표시합니다.


Flask 앱은 딸랑 하나의 파일만으로도 충분할 수 있습니다.

hello.py
from flask import Flask

app = Flask(__name__)


@app.route('/')
def hello():
    return 'Hello, World!'

하지만, 큰 프로젝트에서는 모든 코드를 파일 하나에 때려넣기는 불편하죠. 파이썬 프로젝트는 코드 및 각종 기능들을 짜임새있게 관리하기 위해 팩키지를 이용합니다. 튜토리얼에서도 팩키지를 이용하겠습니다.

이 프로젝트 디렉토리는 다음과 같습니다:

  · flaskr/, 애플리케이션의 코드와 파일들을 담은 파이썬 팩키지.

  · tests/, 테스트 모듈이 저장될 디렉토리.

  · venv/, 파이썬 가상환경이 이용할 Flask 및 각종 외부 라이브러리가 설치될 디렉토리.

  · 파이썬 엔진에게 프로젝트를 어떻게 설치할지 알려주는 인스톨 파일들.

  · git 과 같은 버전 관리용 config 파일.

  · 기타 나중에 추가될 프로젝트 파일들.

튜토리얼이 종료되면 최종적인 프로젝트 구조는 아래처럼 될거에요:

/home/user/Projects/flask-tutorial
├── flaskr/
│   ├── __init__.py
│   ├── db.py
│   ├── schema.sql
│   ├── auth.py
│   ├── blog.py
│   ├── templates/
│   │   ├── base.html
│   │   ├── auth/
│   │   │   ├── login.html
│   │   │   └── register.html
│   │   └── blog/
│   │       ├── create.html
│   │       ├── index.html
│   │       └── update.html
│   └── static/
│       └── style.css
├── tests/
│   ├── conftest.py
│   ├── data.sql
│   ├── test_factory.py
│   ├── test_db.py
│   ├── test_auth.py
│   └── test_blog.py
├── venv/
├── setup.py
└── MANIFEST.in

버전 관리를 하고 있다면, 다음 파일들은 제외해야 합니다.

.gitignore
venv/

*.pyc
__pycache__/

instance/

.pytest_cache/
.coverage
htmlcov/

dist/
build/
*.egg-info/

이외에도 사용하는 에디터나 개발환경에 따라 다른 파일들이 있을 수 있습니다.

다음 : 어플리케이션 설치.

'Python' 카테고리의 다른 글

Flask 6 : 템플릿  (0) 2019.09.06
Flask 5 : 블루프린트와 뷰  (0) 2019.08.28
Flask 4 : DB 구축  (0) 2019.08.28
Flask 3 : 어플리케이션 설치  (0) 2019.08.28
Flask 2 : 프로젝트 구조  (0) 2019.08.28
Flask 1 : Tutorial 소개  (1) 2019.08.27