Summary#4 Flask framework Utilization

lovvepearl·2021년 7월 28일
0

설치되어있어야하는 Python 패키지
: requests, pymongo, bs4, flask

Flask Framework

서버를 구동시켜주는 편한 코드 모음
서버 = 클라이언트 (로컬개발환경)

구현해야할 API

1) 포스팅API - 카드 생성 (Create) : 클라이언트에서 받은 url, comment를 이용해서 페이지 정보를 찾고 저장하기
2) 리스팅API - 저장된 카드 보여주기 (Read)

▶︎ POST

1. app.py 생성 / static 폴더 생성, templates 폴더 - index.html 생성

static: image, css 파일 생성
templates: index.html 파일 생성

기본코드

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)

2. index.html 파일 불러오기

from flask import Flask, render_template
app = Flask(__name__)

@app.route('/')
def home():
   return render_template('index.html')

if __name__ == '__main__':
   app.run('0.0.0.0', port=5000, debug=True)

3. 서버와 클라이언트 코드 매칭

@app.route('/')부분을 수정하고 함수명을 다르게 지정하여 url 분리가능

4. 서버 만들기

클라이언트로부터 데이터 받기
데이터 크롤링하기
데이터 receive 후 DB에 insert
(key:value 형태로 전달)

1) app.py에서 post관련 route생성하여 데이터 receive 환경 만들기

//예시
@app.route('/test', methods=['POST'])
def test_post():
   title_receive = request.form['title_give']

2) DB에 insert

doc = {
    'title':title_receive
    //key:value 형태로 작성
}
db.데이터베이스이름.insert_one(doc)

3) index.html상의 Ajax코드생성(클라이언트)

//예시 : 'title_give'라는 키 값으로 데이터를 들고옴
$.ajax({
    type: "POST",
    url: "/test",
    data: { title_give:'타이타닉' },
    success: function(response){
       console.log(response)
    }
  })

  • success시에 "msg" : "저장이 완료되었습니다!" alert창 표시
  • window.location.reload() 함수로 페이지 새로고침
  • 데이터 DB로 insert

▶︎ GET

1. 서버와 클라이언트 코드 매칭

  1. app.py에 서버 만들기

GET으로 DB에 있는 데이터 조회(read)
키 값으로 정보 보내주기

  1. index.html에 클라이언트 만들기
    Ajax를 활용하여 정보받기(response의 키 값으로 정보받음)
  • 반복문을 활용하여 전체 데이터를 돌리고, let으로 크롤링하고자하는 항목들을 정의함
  • let temp_html = 서식 제작(백틱)
    ('${}' 보간법으로 원하는 위치에 데이터 삽입)
  • .append()함수를 활용하여 원하는 위치에 데이터 출력가능
profile
간단하고 심플하게

0개의 댓글