익명 사용자
로그인하지 않음
토론
기여
계정 만들기
로그인
IT 위키
검색
플라스크 (Flask)
편집하기
IT 위키
이름공간
문서
토론
더 보기
더 보기
문서 행위
읽기
편집
원본 편집
역사
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
고급
특수 문자
도움말
문단 제목
2단계
3단계
4단계
5단계
형식
넣기
라틴 문자
확장 라틴 문자
IPA 문자
기호
그리스 문자
그리스어 확장
키릴 문자
아랍 문자
아랍어 확장
히브리 문자
뱅골어
타밀어
텔루구어 문자
싱할라 문자
데바나가리어
구자라트 문자
태국어
라오어
크메르어
캐나다 원주민 언어
룬 문자
Á
á
À
à
Â
â
Ä
ä
Ã
ã
Ǎ
ǎ
Ā
ā
Ă
ă
Ą
ą
Å
å
Ć
ć
Ĉ
ĉ
Ç
ç
Č
č
Ċ
ċ
Đ
đ
Ď
ď
É
é
È
è
Ê
ê
Ë
ë
Ě
ě
Ē
ē
Ĕ
ĕ
Ė
ė
Ę
ę
Ĝ
ĝ
Ģ
ģ
Ğ
ğ
Ġ
ġ
Ĥ
ĥ
Ħ
ħ
Í
í
Ì
ì
Î
î
Ï
ï
Ĩ
ĩ
Ǐ
ǐ
Ī
ī
Ĭ
ĭ
İ
ı
Į
į
Ĵ
ĵ
Ķ
ķ
Ĺ
ĺ
Ļ
ļ
Ľ
ľ
Ł
ł
Ń
ń
Ñ
ñ
Ņ
ņ
Ň
ň
Ó
ó
Ò
ò
Ô
ô
Ö
ö
Õ
õ
Ǒ
ǒ
Ō
ō
Ŏ
ŏ
Ǫ
ǫ
Ő
ő
Ŕ
ŕ
Ŗ
ŗ
Ř
ř
Ś
ś
Ŝ
ŝ
Ş
ş
Š
š
Ș
ș
Ț
ț
Ť
ť
Ú
ú
Ù
ù
Û
û
Ü
ü
Ũ
ũ
Ů
ů
Ǔ
ǔ
Ū
ū
ǖ
ǘ
ǚ
ǜ
Ŭ
ŭ
Ų
ų
Ű
ű
Ŵ
ŵ
Ý
ý
Ŷ
ŷ
Ÿ
ÿ
Ȳ
ȳ
Ź
ź
Ž
ž
Ż
ż
Æ
æ
Ǣ
ǣ
Ø
ø
Œ
œ
ß
Ð
ð
Þ
þ
Ə
ə
서식 지정
링크
문단 제목
목록
파일
각주
토론
설명
입력하는 내용
문서에 나오는 결과
기울임꼴
''기울인 글씨''
기울인 글씨
굵게
'''굵은 글씨'''
굵은 글씨
굵고 기울인 글씨
'''''굵고 기울인 글씨'''''
굵고 기울인 글씨
플라스크(Flask)는 파이썬으로 작성된 경량 웹 프레임워크로, 심플한 구조와 확장성이 뛰어나 소규모 웹 애플리케이션부터 프로토타입 개발에 널리 사용된다. ==개요== 플라스크는 Werkzeug와 Jinja2를 기반으로 개발되었으며, 기본적으로 최소한의 기능만 제공한다. 필요에 따라 다양한 확장 모듈을 추가하여 데이터베이스 연동, 폼 검증, 인증, 파일 업로드 등 여러 기능을 쉽게 구현할 수 있다. ==특징== *단순하고 유연한 설계로 빠른 프로토타이핑에 적합하다. *내장 개발 서버와 디버거를 제공하여 개발 과정에서 빠른 테스트와 디버깅이 가능하다. *RESTful 요청 처리를 쉽게 구성할 수 있으며, 라우팅 기능이 직관적이다. *다양한 확장 모듈(Flask-SQLAlchemy, Flask-WTF, Flask-Login 등)을 통해 기능 확장이 용이하다. *Jinja2 템플릿 엔진을 사용하여 HTML 템플릿 렌더링을 지원한다. ==내장 서버와 프로덕션 배포== 플라스크가 제공하는 내장 웹 서버는 개발과 디버깅을 위한 용도로 설계되어 있다. 이 서버는 경량화되어 있어 간단한 테스트와 로컬 개발 환경에서는 유용하지만, 보안과 성능 면에서 제한이 있어 실제 운영 환경에서는 적합하지 않다. 프로덕션 환경에서는 Gunicorn, uWSGI, 또는 Waitress와 같은 별도의 WSGI 서버를 사용하여 더 높은 안정성과 확장성을 확보하는 것이 바람직하다. ==설치== 플라스크는 pip를 사용하여 쉽게 설치할 수 있다.<syntaxhighlight lang="bash"> pip install Flask </syntaxhighlight> ==기본 예제== 다음은 플라스크를 이용하여 간단한 웹 애플리케이션을 구현한 예제이다.<syntaxhighlight lang="python"> from flask import Flask, request, jsonify app = Flask(__name__) @app.route("/") def index(): return "Hello, Flask!" @app.route("/greet/<name>") def greet(name): return f"Hello, {name}!" @app.route("/data", methods=["POST"]) def data(): json_data = request.get_json() return jsonify({"received": json_data}) if __name__ == "__main__": app.run(debug=True) </syntaxhighlight>위 예제에서는 기본 경로, 동적 URL 경로, POST 요청을 처리하는 API 엔드포인트를 구현하였다. 디버깅 모드에서는 내장 서버를 통해 빠른 테스트가 가능하다. ==프로덕션 배포== 개발 중에 제공되는 내장 서버는 보안, 동시 접속 처리, 성능 등의 이유로 프로덕션 환경에서는 사용되지 않는다. 실제 운영 환경에서는 다음과 같은 WSGI 서버를 사용하여 애플리케이션을 배포하는 것이 좋다. *Gunicorn: 멀티 워커 프로세스를 통해 동시 요청을 효율적으로 처리한다. *uWSGI: 높은 안정성과 다양한 기능을 제공하며, Nginx와 함께 사용하면 정적 파일 처리에도 유리하다. *Waitress: Windows 환경에서도 안정적으로 운영 가능한 WSGI 서버이다. 예를 들어, Gunicorn과 함께 플라스크 애플리케이션을 배포하는 방법은 다음과 같다.<syntaxhighlight lang="bash"> gunicorn main:app --workers 4 </syntaxhighlight>여기서 "main"은 애플리케이션 파일명을, "app"은 Flask 인스턴스 객체를 의미하며, --workers 옵션을 통해 여러 프로세스로 요청을 분산시킬 수 있다. ==같이 보기== *[[FastAPI]] *[[Django]] *[[WSGI]] *[[Jinja2]] *[[Werkzeug]] ==참고 문헌== *https://flask.palletsprojects.com *Armin Ronacher, Flask 공식 문서 [[분류:파이썬]] [[분류:프로그래밍]] [[분류:백엔드]]
요약:
IT 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
IT 위키:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
둘러보기
둘러보기
대문
최근 바뀜
광고
위키 도구
위키 도구
특수 문서 목록
문서 도구
문서 도구
사용자 문서 도구
더 보기
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
문서 기록