Flask란 무엇인가요?
Flask(플라스크)는 Python 언어로 웹 애플리케이션을 만들 수 있게 도와주는 아주 간단하고 가벼운 웹 프레임워크입니다.
비유를 하자면, Flask는 라면 스프 없이 면만 있는 라면 같은 웹 프레임워크 입니다.
- 필요 최소한의 기능만 제공해서 원하는 재료(기능)를 추가해서 만드는 스타일
- 반대로 Django는 국물까지 다 들어있는 라면세트 같은 프레임워크
Flask로 무엇을 하는가 ?
- HTML 페이지를 보여주고,
- 데이터를 전송하고 받아들이며,
- 사용자 요청에 응답하고,
- 나아가 데이터베이스, 사용자 인증, API 개발 등 다양한 기능까지 확장할 수 있습니다.
Django처럼 모든 기능이 다 갖춰진 프레임워크도 있지만, Flask는 내가 원하는 기능만 골라서 빠르게 개발할 수 있다는 점에서 인기 많아요. 특히 초보자가 부담 없이 웹 서버를 경험해볼 수 있는 최적의 도구인 것 같습니다.
Flask는 언제 사용하나요?
- 간단한 웹사이트를 빠르게 만들고 싶을 때
- RESTful API 서버를 만들고 싶을 때
- 프로토타입을 빠르게 만들어보고 싶을 때
- 백엔드 기초를 배우고 싶을 때
Flask 설치 방법
Flask는 Python으로 만든 외부 패키지이므로 pip로 설치합니다.
pip install flask
설치가 완료되면 Flask를 프로젝트에서 사용할 준비가 끝납니다.
Flask 코드 예시와 라우팅 설명
아래는 가장 기본적인 Flask 서버 예제입니다.
from flask import Flask
import random
app = Flask(__name__) # Flask 앱 생성
@app.route('/')
def index():
return 'welcome'
@app.route('/create/')
def create():
return 'Create'
@app.route('/read/<id>/')
def read(id):
print(id)
return 'Read' + id
app.run(debug=True)
코드 설명
from flask import Flask
Flask 클래스를 불러옵니다. Flask 웹앱을 만들기 위한 준비예요.
app = Flask(__name__)
Flask 인스턴스를 생성합니다.
__name__은 현재 파일이 어떤 역할인지 Flask에게 알려주는 역할을 해요.
라우팅이란?
@app.route()는 사용자가 특정 주소(URL)에 접속했을 때 어떤 동작을 할지를 연결해주는 것이에요.
즉, 웹 주소(URL)와 함수(기능)를 연결해주는 것을 라우팅이라고 합니다.
/ 주소로 접속한 경우
@app.route('/')
def index():
return 'welcome'
- http://localhost:5000/으로 접속하면 "welcome"이라는 문장을 브라우저에 띄웁니다.
/create/ 주소로 접속한 경우
@app.route('/create/')
def create():
return 'Create'
- http://localhost:5000/create/로 접속하면 "Create" 라는 문장이 나옵니다.
/read/<id>/ 주소로 접속한 경우
@app.route('/read/<id>/')
def read(id):
print(id)
return 'Read' + id
- 동적인 URL을 사용할 수 있습니다.
- 예를 들어 http://localhost:5000/read/123/ 으로 접속하면
- 콘솔에는 123이 출력되고,
- 브라우저에는 Read123 이 출력됩니다.
- 위 사진을 통해 웹 주소에 http://127.0.0.1:5000/read/100/ 를 입력 했을 때 브라우저에 Read100이 출력 된 것을 볼 수 있습니다.
- 이처럼 <id> 부분은 사용자에게서 입력받는 데이터라고 볼 수 있어요. 모든 id 값을 미리 정해두지 않아도 입력받아 출력이 가능합니다.
서버 실행
app.run(debug=True)
- Flask 서버를 실행합니다.
- debug=True 옵션은 에러 발생 시 상세한 디버그 화면을 보여주기 때문에 개발할 때 매우 유용해요.
- 저장하고 URL 새로고침만 하면 수정 내용이 반영 된 것을 볼 수 있어요.
다음시간에는 Flask 2탄으로 돌아올게요 :)
이해 어려운게 있다면 댓글 남겨주세요^^
'👩🏻💻 개발 공부' 카테고리의 다른 글
[Flask 입문 3탄] 리스트, 딕셔너리, f-string, 따옴표까지 한 번에 이해하기! (0) | 2025.04.15 |
---|---|
[Flask 입문 2탄] HTML 구조 이해하며 Flask 라우팅 따라잡기 (h1, a, ol 태그) (0) | 2025.04.14 |
📝 재귀함수가 뭐야? – 정말 초보를 위해 이해하기 쉽게 설명 (0) | 2025.04.07 |
파이썬은 어떤 언어일까? | 인터프리터, 동적 타이핑, 활용 분야까지 쉽게 이해하기 (0) | 2025.04.06 |
[개발 블로그] Git 명령어 정리 – add, commit, push가 뭐야? (0) | 2025.03.31 |