40 lines
2.0 KiB
Markdown
40 lines
2.0 KiB
Markdown
# Flask 모듈: 간편하고 유연한 마이크로 웹 프레임워크
|
|
|
|
Flask는 파이썬으로 웹 애플리케이션을 개발하기 위한 경량급 웹 프레임워크입니다. Django와 같은 대형 프레임워크에 비해 학습 곡선이 낮고, 필요한 기능만 골라 사용할 수 있어 빠르게 프로토타입을 만들거나 작은 규모의 웹 애플리케이션을 개발하는 데 적합합니다.
|
|
|
|
```bash
|
|
pip install Flask
|
|
```
|
|
|
|
* 간결함: 최소한의 기능만 제공하여 빠르게 시작할 수 있습니다.
|
|
* 유연성: 필요에 따라 다양한 확장 모듈을 추가하여 기능을 확장할 수 있습니다.
|
|
* Jinja2 템플릿 엔진: 동적인 웹 페이지를 생성하기 위한 강력한 템플릿 엔진을 제공합니다.
|
|
* WSGI 1.0 호환: 다양한 웹 서버와 호환됩니다.
|
|
* 확장성: 다양한 확장 모듈을 통해 기능을 추가할 수 있습니다.
|
|
|
|
## 기본 사용법
|
|
```python
|
|
from flask import Flask
|
|
|
|
app = Flask(__name__)
|
|
|
|
@app.route('/')
|
|
def hello():
|
|
return 'Hello, World!'
|
|
|
|
if __name__ == '__main__':
|
|
app.run()
|
|
```
|
|
* Flask 객체 생성: `Flask(__name__)`으로 Flask 애플리케이션을 생성합니다.
|
|
* 라우팅: `@app.route('/')` 데코레이터를 사용하여 URL과 함수를 연결합니다.
|
|
* 함수: 요청을 받았을 때 실행될 함수를 정의합니다.
|
|
* 서버 실행: `app.run()`으로 개발 서버를 실행합니다.
|
|
|
|
## 주요 기능
|
|
* 라우팅: URL과 함수를 연결하여 요청을 처리합니다.
|
|
* 템플릿: Jinja2 템플릿 엔진을 사용하여 동적인 HTML 페이지를 생성합니다.
|
|
* 요청 처리: HTTP 요청 메서드(GET, POST 등)에 따라 다른 함수를 실행할 수 있습니다.
|
|
* 세션: 사용자 세션을 관리하여 상태를 유지할 수 있습니다.
|
|
* 쿠키: 쿠키를 사용하여 사용자 정보를 저장하고 관리할 수 있습니다.
|
|
* 데이터베이스: SQLAlchemy 등의 ORM을 사용하여 데이터베이스를 연결할 수 있습니다.
|