✏️HTML과 mongoDB까지 연동해 서버 만들기
클라이언트 = 서버
🔎 나홀로 메모장
스파르타코딩클럽 | 나홀로 메모장 (spartacodingclub.shop)
스파르타코딩클럽 | 나홀로 메모장
spartacodingclub.shop
🔎 모두의 책리뷰
모두의 책리뷰 | 스파르타코딩클럽 (spartacodingclub.shop)
모두의 책리뷰 | 스파르타코딩클럽
spartacodingclub.shop
🔎 마이페이보릿무비스타
마이 페이보릿 무비스타 | 프론트-백엔드 연결 마지막 예제! (spartacodingclub.shop)
마이 페이보릿 무비스타 | 프론트-백엔드 연결 마지막 예제!
마이 페이보릿 무비스타😆 순위를 매겨봅시다
spartacodingclub.shop
✏️서버 만들기
📌 Flask 패키지 설치
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'This is Home!'
if __name__ == '__main__':
app.run('0.0.0.0',port=5000,debug=True)
🔎 Flask 서버 만들때 폴더 설정
프로젝트 폴더 안에,
📌 static 폴더 (이미지, css파일을 넣어둡니다)
📌 templates 폴더 (html파일을 넣어둡니다)
📌 app.py 파일
flask 내장함수 render_template를 이용
from flask import Flask, render_template
app = Flask(__name__)
## URL 별로 함수명이 같거나,
## route('/') 등의 주소가 같으면 안됩니다.
@app.route('/')
def home():
return render_template('index.html')
if __name__ == '__main__':
app.run('0.0.0.0', port=5000, debug=True)
🔎 본격 API 만들기
📌 API설계
서비스 기능, 어떤 순서로 구현할 것인지
1. URL, 코멘트 값을 받아 서버에 전달
2. 서버에서 그 데이터를 받아 저장 ( URL 크롤링 통해 얻은 이미지, 제목, 요약, 코멘트, 클릭 시 이동할 링크)
3. 저장한 데이터 클라이언트에 보여주기
즉, 메모를 작성하기 위해 서버가 전달받아야하는 정보는 다음 두 가지 입니다.
- URL(url_give)
- 코멘트(comment_give)
그리고 URL를 meta tag를 스크래핑해서 아래 데이터를 저장(Create)합니다.
- URL(url)
- 제목(title)
- 설명(desc)
- 이미지URL(image)
- 코멘트(comment)
따라서 서버 로직은 다음 단계로 구성되어야 합니다.
1. 클라이언트로부터 데이터를 받기.
2. meta tag를 스크래핑하기
3. mongoDB에 데이터를 넣기
📌 GET
1,2번, Create
데이터 전달, URL 뒤에 물음표를 붙여 key=value로 전달
예: google.com?q=북극곰
📌 GET 요청 API코드
@app.route('/test', methods=['GET'])
def test_get():
title_receive = request.args.get('title_give')
print(title_receive)
return jsonify({'result':'success', 'msg': '이 요청은 GET!'})
📌 GET 요청 확인 Ajax코드
$.ajax({
type: "GET",
url: "/test?title_give=봄날은간다",
data: {},
success: function(response){
console.log(response)
}
})
📌 POST
3번, Read
데이터 전달, 바로 보이지 않는 HTML body에 key:value 형태로 전달
📌 POST 요청 API코드
@app.route('/test', methods=['POST'])
def test_post():
title_receive = request.form['title_give']
print(title_receive)
return jsonify({'result':'success', 'msg': '이 요청은 POST!'})
📌 POST 요청 확인 Ajax코드
$.ajax({
type: "POST",
url: "/test",
data: { title_give:'봄날은간다' },
success: function(response){
console.log(response)
}
})
📌 Put-Update
📌 Delete-Delete
🔎 동작테스트
그린 북
1962년 미국, 입담과 주먹만 믿고 살아가던 토니 발레롱가(비고 모텐슨)는 교양과 우아함 그 자체인천재...
movie.naver.com
'풀스택 개발일지' 카테고리의 다른 글
👨💻 [풀스택] 내가 만든 프로젝트 배포하기 (0) | 2022.07.15 |
---|---|
👨💻 [풀스택] 4주차 숙제 (0) | 2022.07.15 |
👨💻 [풀스택] 3주차 숙제 (0) | 2022.07.15 |
👨💻 [풀스택] 3-6. 패키지 설치 오류 (0) | 2022.07.15 |
👨💻 [풀스택] Python, 크롤링, mongoDB (0) | 2022.07.15 |
댓글