✅ Flask 프레임워크를 활용해서 API를 만들기
✅ API를 클라이언트에 연결하기
✅ 실습에서 적용해보기
templates
폴더는 주로 HTML 파일이 담기는 곳static
폴더는 주로 이미지, CSS 파일 등이 담기는 곳1. app.py
파일 만들어 놓기 (= 서버
코드)
[1] POST
과정 ✨
- (
app.py
파일 내에서)POST 요청 API코드
+mongoDB 문법
활용해서 ➡️ 사용자로부터 입력받은 데이터 클라우드DB에 저장..!
[2] GET
과정 ✨
- (
app.py
파일 내에서)GET 요청 API코드
+mongoDB 문법
활용해서 ➡️ 기존에 클라우드DB에 저장해 놓은 데이터 가져오기..!
2. index.html
파일 만들어 놓기 (= 클라이언트
코드)
[0] Jquery
임포트 (필수 ❗️)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
[1] POST
과정 ✨
- (
index.html
파일 내에서)POST 요청 확인 Ajax코드
를 활용해서 ➡️ 데이터 입력&저장 완료 시 원하는 메시지 띄우기 가능..!
- (ex. '요청을 잘 받았습니다.', '주문 완료!' 등)
- code 적용 예시
function done_bucket(num) { $.ajax({ type: "POST", url: "/bucket/done", data: {num_give: num}, success: function (response) { alert(response["msg"]) ### 예시 window.location.reload() ### 예시 } }); }
[2] GET
과정 ✨
- (
index.html
파일 내에서)GET 요청 확인 Ajax코드
활용해서 ➡️ 가져온 데이터 페이지 상에서 순차적으로 보여주기..!
- (ex. for문 함께 사용)
- code 적용 예시
function show_order() { $('#order-box').empty() $.ajax({ type: 'GET', url: '/mars', data: {}, success: function (response) { let rows = response['orders'] for (let i = 0; i < rows.length; i++) { let name = rows[i]['name'] let address = rows[i]['address'] let size = rows[i]['size'] let temp_html = `<tr> <td>${name}</td> <td>${address}</td> <td>${size}</td> </tr>` $('#order-box').append(temp_html) } } }); }
팬명록 페이지 (1주차 과제) 에 두 가지 기능 추가하기
- 1)
응원 남기기(POST)
: 정보 입력 후 '응원 남기기' 버튼클릭 시 주문목록에 추가- 2)
응원 보기(GET)
: 페이지 로딩 후 하단 응원 목록이 자동으로 보이기