본문 바로가기

알토르

알토르 2주차 Python/Flask/API

Python/Flask/API

1️⃣ 파이썬 설치

  1. 파이썬 공식 사이트에 들어가서 최신 버전(예: 3.12.x) 다운로드
  2. 설치할 때 “Add Python to PATH” 체크 후 설치
  3. 설치 확인: 터미널 또는 CMD
python --version
py --version

버전이 나오면 정상 설치 완료

2️⃣ Flask가 무엇인지

Flask는 파이썬 기반의 웹 프레임워크

쉽게 말하면, 파이썬으로 웹 서버를 만들 수 있게 도와주는 도구

  • 특징
  1. 가볍고 배우기 쉬움
  2. 라우팅(Routing) 기능 제공 → URL 경로별로 동작 정의 가능
  3. 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에서 서빙 가능
1) HTML 없이 단순 응답
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>

✅ 정리하면:

  1. Flask만으로도 웹 서버를 만들 수 있다.
    (응답은 텍스트, JSON 등)
  2. 웹 페이지를 예쁘게 보여주려면 HTML/CSS/JS는 필요하다.
  3. 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