Ch.1 Python 라이브러리 15선
Flask — 나만의 웹사이트 만들기
웹사이트를 만들려면 서버가 필요합니다
친구에게 보여줄 간단한 웹페이지를 만들고 싶은데, 서버 세팅이 너무 복잡해 보입니다.
Python으로 진짜 5줄만에 웹서버를 띄울 수 있을까?
Flask를 쓰면 됩니다. Python 파일 하나로 웹서버가 돌아갑니다. 진짜 5줄이면 충분합니다.
핵심 내용
Flask는 Python으로 웹서버를 만드는 초경량 프레임워크입니다. 복잡한 설정 없이, Python 파일 하나로 웹사이트를 띄울 수 있습니다.
한 줄 요약: Python으로 웹서버를 만드는 가장 쉬운 방법 실생활 비유: 레스토랑을 차리려면 건물이 필요하듯, 웹사이트를 만들려면 서버가 필요합니다. Flask는 '즉석 팝업 레스토랑'처럼 빠르게 세울 수 있는 서버입니다.
간단한 웹 API를 만들거나, 프로토타입 웹사이트를 빠르게 띄울 때 씁니다.
수동으로 하면: Apache/Nginx 설치 → 설정 파일 작성 → PHP/Java 세팅 → 배포 설정 → 일주일
Flask 쓰면: pip install flask → 5줄 코드 → python app.py → 5분
설치하고, 5줄로 첫 웹서버를 띄워 봅시다.
pip install flaskfrom flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello, World!"
app.run(debug=True)실행하면 터미널에 'Running on http://127.0.0.1:5000'이 뜹니다. 브라우저에서 이 주소로 들어가면 Hello, World!가 보입니다.
AI에게 웹서버를 만들어 달라고 할 때, 엔드포인트 + 데이터 형식 + 기능을 구체적으로 말하세요.
좋은 프롬프트 예시: "Flask로 간단한 메모장 웹앱을 만들어줘. 메모 입력 폼, 저장 목록, 삭제 버튼. SQLite로 데이터 저장"
프롬프트 변형: "DELETE /memo/<id>로 삭제 기능도 추가하고, 메모에 작성 시간도 자동으로 넣어줘"
from flask import Flask, jsonify, request
app = Flask(__name__)
memos = []
@app.route("/memo", methods=["POST"])
def add_memo():
memo = request.json
memos.append(memo)
return jsonify({"status": "ok"})
@app.route("/memos")
def get_memos():
return jsonify(memos)미니 프로젝트: 간단한 TODO 웹앱 할 일 추가, 조회, 삭제까지 완성합니다.
from flask import Flask, jsonify, request
from datetime import datetime
app = Flask(__name__)
todos = []
@app.route("/todo", methods=["POST"])
def add():
data = request.json
data["id"] = len(todos) + 1
data["created"] = datetime.now().strftime("%Y-%m-%d %H:%M")
data["done"] = False
todos.append(data)
return jsonify({"msg": "추가됨", "todo": data})
@app.route("/todos")
def list_all():
return jsonify(todos)
@app.route("/todo/<int:tid>", methods=["DELETE"])
def delete(tid):
global todos
todos = [t for t in todos if t["id"] != tid]
return jsonify({"msg": f"{tid}번 삭제됨"})
app.run(debug=True)실행 방법: todo_app.py로 저장 → python todo_app.py 실행 → 브라우저에서 http://127.0.0.1:5000/todos 로 접속하면 할 일 목록이 보입니다.
Flask에서 URL 경로를 함수에 연결하는 데코레이터는?
Flask의 jsonify()는 Python 딕셔너리를 JSON 형식으로 변환하여 응답한다.
핵심 용어
개인 프로젝트 API
할 일 목록, 메모장 등 간단한 앱의 백엔드
데이터 대시보드
분석 결과를 웹 페이지로 공유
챗봇 서버
AI 모델과 통신하는 API 서버
핵심 정리
- 1Flask는 Python 초경량 웹 프레임워크 — 5줄로 서버가 돌아간다
- 2@app.route()로 URL 경로를 함수에 연결한다
- 3jsonify()로 JSON API를 쉽게 만들 수 있다 — 프론트엔드와 연동 가능
퀴즈와 인터랙션으로 더 깊이 학습하세요
play_circle인터랙티브 레슨 시작