플라스크(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)
IDE에서 run으로 실행 후 브라우저에 localhost:5000를 입력하면 서버가 실행된 모습이 나온다.
flask는 기본적으로 아래의 3개 파일 및 폴더가 필요함
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)
render_template
를 import 하고 render_template('index.html')
을 하면 templates 안의 index.html파일을 자동으로 불러온다.
API 방식
/test?title_give=봄날은간다
{ title_give:'봄날은간다' }
from flask import Flask, render_template, jsonify, request
GET 요청 API코드(app.py)
@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코드(DevTools)
$.ajax({
type: "GET",
url: "/test?title_give=봄날은간다",
data: {},
success: function(response){
console.log(response)
}
})
{msg: '이 요청은 GET!', result: 'success'}
POST 요청 API코드(app.py)
@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코드(DevTools)
$.ajax({
type: "POST",
url: "/test",
data: { title_give:'봄날은간다' },
success: function(response){
console.log(response)
}
})
{msg: '이 요청은 POST!', result: 'success'}
서버완성 후 클라이언트 완성하기
API를 이용하여 생성하기 및 불러오기 기능 만들기(몽고db 이용)
A. 요청 정보
/요청할 URL
, 요청방식 = POST
B. 서버가 제공할 기능
C. 응답 데이터
A. 요청 정보
/요청할 URL
, 요청 방식 = GET
B. 서버가 제공할 기능
C. 응답 데이터
메타 태그란 키워드 검색엔진에 특정 홈페이지 또는 HTML문서에 대한 색인정보 즉, 키워드와 약간의 정리된 내용(콘텐츠)을 표현하는 HTML Tag이다.
<head>
태그 안에 meta 태그
import requests
from bs4 import BeautifulSoup
url = 'https://movie.naver.com/movie/bi/mi/basic.nhn?code=171539'
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = requests.get(url,headers=headers)
soup = BeautifulSoup(data.text, 'html.parser')
title = soup.select_one('meta[property="me2:category2"]')['content']
image = soup.select_one('meta[property="og:image"]')['content']
desc = soup.select_one('meta[property="og:description"]')['content']
print(title, image, desc)
그린 북 https://movie-phinf.pstatic.net/20190115_228/1547528180168jgEP7_JPEG/movie_image.jpg?type=m665_443_2 1962년 미국, 입담과 주먹만 믿고 살아가던 토니 발레롱가(비고 모텐슨)는 교 교양과 우아함 그 자체인천재...
Flask 서버와 mongoDB를 이용한 상품페이지
서버를 만들어서 API로 클라이언트와 데이터를 주고 받게 연동하는 것이 처음 보는것이라 그런지 이해하기 어려웠다. 그러나 예제 2개와 숙제를 하면서 조금씩 익숙해지는 느낌이다. 예제를 실습하면서 api에 익숙해지게 강의 코스를 짜임새 있게 해 주어서 좋았던 부분이었다. 서버부분에서 데이터 생성과 불러오기를 직접 해보는 시간이였다.