## 🌶️ Flask, 질문하며 배우기

파이썬 마이크로 웹 프레임워크 · 선행: 파이썬 · 로컬에서 flask run

## 수업 진행

🤖

### 질문

프롬프트를 LLM에 복사

💻

### 실행

로컬 Flask 서버로 확인

👩‍🏫

### 리뷰

라우팅·템플릿·API 정리

앞: 라우트·템플릿 · 뒤: REST·Jinja·실전 프로젝트

### 1-1. 웹 서비스

🤖 AI에게 물어보자

    풀스택 프레임워크와 마이크로 프레임워크 차이를 Flask·Django 예로 설명해줘. 웹 서비스가 무엇인지 한 문단으로.

### 1-2. Hello World

🤖 AI에게 물어보자

    Flask로 최소 Hello World 앱을 만들고 python으로 실행하는 방법을 보여줘. __name__ 의미도 설명해줘.

    from flask import Flask
    app = Flask(__name__)

    @app.route('/')
    def hello():
        return 'Hello, Flask!'

    if __name__ == '__main__':
        app.run(debug=True)

👩‍🏫 선생님 리뷰

1. @app.route 로 URL과 함수를 연결합니다
2. debug=True 는 개발용 — 배포 시 끄세요

### 1-3. 라우팅

🤖 AI에게 물어보자

    Flask에서 여러 URL 경로를 등록하는 예제와 route 데코레이터 사용법을 알려줘.

### 1-4. URI 변수

    @app.route('/user/<name>')
    def greet(name):
        return f'{name}야 안녕'

    @app.route('/<tag>')
    def heading(tag):
        return f'<{tag}>Hello</{tag}>'

### 1-5. render_template

🤖 AI에게 물어보자

    Flask render_template로 templates/index.html을 렌더링하는 예제와 templates 폴더 구조를 설명해줘.

### 1-6. HTTP 메서드

🤖 AI에게 물어보자

    Flask에서 GET/POST 처리, request.form, request.args 사용 예제를 보여줘.

### 1-7. REST API 고급

🤖 AI에게 물어보자

    Flask로 JSON을 반환하는 간단한 REST API(GET 목록, POST 생성) 예제를 짜줘. jsonify 사용.

### 1-8. Jinja2 고급

🤖 AI에게 물어보자

    Jinja2에서 변수 출력, if, for, 템플릿 상속(extends/block) 예제를 보여줘.

### 1-9. 실습 — 영화순위 웹

🤖 AI에게 물어보자

    수집한 영화 순위 리스트를 Flask 템플릿의 table로 보여주는 구조를 제안해줘.

### 1-10. 세션 · 쿠키 (ETC)

session, cookie 설정·읽기 — AI에게 “Flask 로그인 세션 최소 예제”를 물어보세요.

### 2-1. HTML/CSS/JS 선행

w3schools HTML/CSS/JS · 자기소개 페이지를 먼저 만든 뒤 Flask에 붙입니다.

### 2-2. Bootstrap 테마 적용

🤖 AI에게 물어보자

    무료 Bootstrap 포트폴리오 템플릿을 Flask static/templates 구조에 넣는 방법을 설명해줘.

### 2-3. 날씨예보 웹

🤖 AI에게 물어보자

    기상청 mid-term RSS XML을 파싱해 Flask에서 HTML table로 출력하는 흐름을 제안해줘.

### 2-4. 공공 API · 싱글 페이지

🤖 AI에게 물어보자

    공공데이터 포털 미세먼지 API를 requests로 호출해 Flask 페이지에 표시하는 구조를 짜줘. 인증키는 환경변수로.

### 2-5. 4대질병 웹 조회

🤖 AI에게 물어보자

    지역·날짜·질병을 form으로 받아 조회 결과를 table로 보여주는 Flask 앱 구조를 제안해줘.

### 2-6. 카카오톡 나에게 메시지 고급

🤖 AI에게 물어보자

    카카오 REST API로 '나에게 메시지 보내기' 할 때 code → token → 전송 흐름을 단계로 설명해줘. Flask 콜백 라우트 역할도.

developers.kakao.com 에서 앱 등록 · REST 키 · Redirect URI 필요