본문 바로가기
컴퓨터과학과

[AI] 파이썬 마이크로 웹 프레임워크, Flask

by 공부하는노년 2024. 8. 11.
반응형

파이썬 마이크로 웹 프레임워크, Flask

Flask는 Python으로 작성된 마이크로 웹 프레임워크로, 경량성과 유연성을 특징으로 합니다. Flask는 웹 애플리케이션 개발을 단순화하는 데 중점을 두고 있으며, 다음과 같은 주요 특징을 가지고 있습니다.

Flask의 주요 특징

  1. 경량성과 유연성: Flask는 최소한의 핵심 기능만 포함하고 있으며, 개발자가 필요한 기능을 플러그인이나 확장으로 추가할 수 있도록 설계되어 있습니다. 이러한 설계 철학은 개발자가 자신의 애플리케이션에 필요한 기능만 선택하여 사용할 수 있게 하며, 애플리케이션의 구조를 보다 쉽게 조정할 수 있게 합니다.
  2. Jinja2 템플릿 엔진: Flask는 Jinja2라는 강력한 템플릿 엔진을 사용하여 HTML 템플릿을 렌더링 합니다. 이를 통해 개발자는 Python 코드와 HTML을 쉽게 결합하여 동적 웹 페이지를 생성할 수 있습니다.
  3. Werkzeug WSGI 툴킷: Flask는 WSGI(Web Server Gateway Interface) 툴킷인 Werkzeug를 기반으로 합니다. Werkzeug는 요청 및 응답 객체, URL 라우팅, 디버깅 등을 지원하여 개발자가 웹 애플리케이션을 더 쉽게 구축할 수 있도록 도와줍니다.
  4. 확장 가능한 구조: Flask는 다양한 확장 기능을 제공하여 데이터베이스 통합, 폼 검증, 사용자 인증 등을 손쉽게 구현할 수 있습니다. 이러한 확장 기능들은 플러그인 형태로 제공되어 필요에 따라 손쉽게 추가 및 제거할 수 있습니다.
  5. 디버깅 및 테스트 지원: Flask는 개발 모드에서 디버깅 기능을 제공하여 애플리케이션 개발 중 발생하는 오류를 쉽게 파악하고 수정할 수 있도록 도와줍니다. 또한, 테스트 클라이언트를 제공하여 자동화된 테스트를 쉽게 작성할 수 있습니다.

Flask 예제 코드

다음은 간단한 Flask 애플리케이션의 예제입니다.

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def home():
    return "Hello, Flask!"

@app.route('/hello/<name>')
def hello(name):
    return render_template('hello.html', name=name)

if __name__ == '__main__':
    app.run(debug=True)

위 예제는 기본적인 Flask 애플리케이션으로, / 경로로 접속하면 "Hello, Flask!"라는 문자열을 반환하고, /hello/<name> 경로로 접속하면 hello.html 템플릿을 렌더링하여 사용자에게 인사를 표시합니다.

클라우드 서버에서 코딩


Flask는 이러한 단순한 애플리케이션부터 복잡한 웹 애플리케이션까지 다양한 범위의 프로젝트에 적합하며, 학습 및 실무에서 널리 사용되는 인기 있는 웹 프레임워크입니다.

댓글