사용자 도구

사이트 도구


wiki:glossary:web_technologies:flask

Flask: Python 웹 프레임워크

Flask는 Python으로 작성된 마이크로 웹 프레임워크입니다.

간단하고 유연한 구조로 빠른 웹 애플리케이션 개발이 가능하며, Dream of E&C 프로젝트의 백엔드 API 서버로 사용됩니다.

주요 특징

핵심 장점:

  • 가볍고 간단: 핵심 기능만 제공하여 빠른 시작 가능
  • 확장 가능: 필요한 기능을 플러그인으로 추가
  • 유연성: 개발자가 원하는 방식으로 구조 설계 가능

주요 기능:

  • 라우팅: URL 경로와 함수를 연결
  • 템플릿: Jinja2 템플릿 엔진 내장
  • 세션 관리: 사용자 세션 및 쿠키 처리
  • 요청 처리: HTTP 요청/응답 처리

Dream of E&C 프로젝트에서의 활용

주요 역할:

  • REST API 서버: 프론트엔드와 데이터 통신
  • 데이터베이스 연동: SQLAlchemy를 통한 DB 조작
  • 사용자 인증: 로그인/로그아웃 기능

마이크로 프레임워크

  • 가볍고 간단: 핵심 기능만 제공하여 빠른 시작 가능
  • 확장 가능: 필요한 기능을 플러그인으로 추가
  • 유연성: 개발자가 원하는 방식으로 구조 설계 가능

주요 기능

  • 라우팅: URL 경로와 함수를 연결
  • 템플릿: Jinja2 템플릿 엔진 내장
  • 세션 관리: 사용자 세션 및 쿠키 처리
  • 요청 처리: HTTP 요청/응답 처리

💼 실무 활용 사례

Dream of E&C 프로젝트에서의 역할

  • REST API 서버: 프론트엔드와 데이터 통신
  • 데이터베이스 연동: SQLAlchemy를 통한 DB 조작
  • 사용자 인증: 로그인/로그아웃 기능
  • 파일 업로드: 이미지 및 문서 파일 처리

기본 코드 예시

from flask import Flask, jsonify, request

app = Flask(__name__)

@app.route('/api/users', methods=['GET'])
def get_users():
    # 사용자 목록 조회
    return jsonify({'users': users})

@app.route('/api/users', methods=['POST'])
def create_user():
    # 새 사용자 생성
    data = request.get_json()
    return jsonify({'message': 'User created'})

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

🔧 관련 기술

  • Waitress: 프로덕션 환경에서 Flask 앱 실행
  • Nginx: 리버스 프록시로 Flask와 연동
  • Linux: 서버 운영 환경
  • SQLAlchemy: 데이터베이스 ORM

📚 학습 자료

공식 문서

실무 팁

  • 개발 모드: `app.run(debug=True)`로 자동 재시작
  • 환경 변수: `FLASK_ENV=development` 설정
  • 블루프린트: 대규모 앱을 모듈로 분리
  • 에러 핸들링: `@app.errorhandler()` 데코레이터 활용

Python으로 웹 개발을 시작하기에 최적의 프레임워크입니다.

wiki/glossary/web_technologies/flask.txt · 마지막으로 수정됨: 저자 syjang0803

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki