Python/Flask/API
1️⃣ 파이썬 설치
- 파이썬 공식 사이트에 들어가서 최신 버전(예: 3.12.x) 다운로드
- 설치할 때 “Add Python to PATH” 체크 후 설치
- 설치 확인: 터미널 또는 CMD
python --version
py --version
버전이 나오면 정상 설치 완료
2️⃣ Flask가 무엇인지
Flask는 파이썬 기반의 웹 프레임워크
쉽게 말하면, 파이썬으로 웹 서버를 만들 수 있게 도와주는 도구
- 특징
- 가볍고 배우기 쉬움
- 라우팅(Routing) 기능 제공 → URL 경로별로 동작 정의 가능
- REST API 서버도 간단하게 만들 수 있음
🔹 웹 서버 구축
- Web Server = 클라이언트(브라우저) 요청 → 응답 반환 역할
- 웹사이트는 HTML + CSS + JS 파일을 브라우저(Client)가 받아서 렌더링 후 화면 송출
- 전통적인 웹 서버는 정적인 파일(HTML, CSS, JS, 이미지 등)을 제공함
🔹 Flask의 역할
Flask는 파이썬 코드로 웹 서버를 띄우고,
URL 경로별로 원하는 응답을 만들어서 보여주는 프레임워크
- HTML/CSS/JS 파일이 없어도 문자열 응답(예: "Hello")을 보낼 수 있음 → 브라우저는 그냥 텍스트로 보여줌
- “웹사이트처럼 꾸민 페이지”를 만들려면
결국 HTML/CSS/JS가 필요
🔹 플라스크만으로 가능한 것
- API 서버
- JSON, 텍스트 같은 데이터만 응답 HTML 필요 없음 ex) http://localhost:5000/api/user → { "name": "철수" }
- 간단한 웹 페이지 호스팅
- Flask가 HTML을 반환하도록 하면 웹 페이지처럼 동작 HTML 파일을 직접 작성해서 Flask에서 서빙 가능
from flask import Flask
app = Flask(__name__)
@app.route("/")
def home():
return "Hello World!" # 그냥 텍스트 반환
app.run()
2) HTML 파일을 반환 (웹 페이지 형태)
from flask import Flask, render_template
app = Flask(__name__)
@app.route("/")
def home():
return render_template("index.html")
# templates 폴더에 있는 HTML 파일 불러옴
app.run()
index.html (templates 폴더에 저장)
<!DOCTYPE html>
<html>
<head>
<title>Flask 웹페이지</title>
</head>
<body>
<h1>안녕하세요! Flask로 만든 웹페이지입니다 🚀</h1>
</body>
</html>
✅ 정리하면:
- Flask만으로도 웹 서버를 만들 수 있다.
(응답은 텍스트, JSON 등) - 웹 페이지를 예쁘게 보여주려면 HTML/CSS/JS는 필요하다.
- HTML/CSS/JS 파일을 “호스팅”하는 역할도 할 수 있다.
3️⃣ API가 무엇인지
- API : 응용 애플리케이션간 소통 통로 / 서비스를 버튼화 / 메뉴판
통로이자 전달자 역할 / 실제 일은 API 서버가 한다 - 웹 REST API: URL → 요청 → 서버 처리 → 응답 흐름
- ex. /hello 경로로 접속 → 서버에서 “Hello” 응답 → 브라우저에 표시
4️⃣ Flask 설치
터미널에서 설치:
pip install flask
5️⃣ Flask 예제 코드: Hello 화면 만들기
##파일명: app.py
from flask import Flask
app = Flask(__name__)
@app.route("/hello") # localhost:5000/hello 접속 시 실행
def hello():
return "Hello"
if __name__ == "__main__":
app.run(debug=True) # 서버 실행
////
debug=True는
1. 코드 수정 시 자동으로 서버 재시작
2. 오류 발생 시 상세 에러 화면 표시

app.py 있는 디렉터리에서
python .\app.py
python app.py

'알토르' 카테고리의 다른 글
| HTTP이란? (0) | 2026.05.09 |
|---|---|
| 알토르 React ERROR - troubleshooting (0) | 2026.05.08 |
| Git / Github (0) | 2026.05.06 |
| 알토르 2주차 채팅 레이아웃 (0) | 2026.05.05 |
| 알토르 2주차 NEXT.js로 포트폴리오 제작-2 (0) | 2026.05.05 |