벌써 4주차 끝이 보인다...ㅎ 시간이 이렇게 빠르다니
그치만 강의를 들을수록 어려워지는건 당연하겠지..? 강의를 다듣는시간이 점점 늦어지고 있다ㅋㅋㅋ
열심히해야지...!Aㅏㅏㅏ자!
1)Flask
:flask란? python의 micro web framwork이다. 특히 API를 만들기에 편리하다.
2)Flask시작하기
①폴더 설정
전체 폴더 안에 static, templates, app.py 3가지 파일을 만들어준다
static - 이미지,css파일
templates - html 파일
app.py - interpreter에서 설치해준다.(통상적으로 flask서버를 돌리는 파일을 이렇게 지음)
②flask시작코드
app.py에 넣어준다.
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)
👆route안에는 url별로 함수명이 같거나, (' / ')내의 주소가 같으면 안된다.
③index.html파일을 app.py와 연결
> ❗templates파일안에 index.html파일을 만들어줘야한다.
> app.py과 render👇
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를 통해서 html파일을 불러올 수 있다.
④API만들기 그전에..
>post: 통상적으로 생성,변경,삭제 요청을 할 때 사용
(데이터를 서버에 전달할때 key:value의 형태로 전달)
>get: 통상적으로 데이터를 조회
(데이터를 서버에 요청할때, key=value로 전달)
⑤get요청 코드
@app.route('/test', methods=['GET'])
def test_get():
title_receive = request.args.get('title_give')
print(title_receive)
return jsonify({'result':'success', 'msg': '이 요청은 GET!'})
서버에 해당하고
$.ajax({
type: "GET",
url: "/test?title_give=봄날은간다",
data: {},
success: function(response){
console.log(response)
}
})
클라이언트에 해당한다.
⑥post 요청 코드
@app.route('/test', methods=['POST'])
def test_post():
title_receive = request.form['title_give']
print(title_receive)
return jsonify({'result':'success', 'msg': '이 요청은 POST!'})
서버에 해당하고
$.ajax({
type: "POST",
url: "/test",
data: { title_give:'봄날은간다' },
success: function(response){
console.log(response)
}
})
클라이언트에 해당한다.
지금까지는 간단하게 기본이 되는 코드정도만 알아봤는데 다음 장에서는 예시를 통해서 코드들을 하나씩 바꿔보겠다.
확실히 예시를 통해서 자꾸 반복하니까 더 이해가 잘되는 것 같다..ㅎ
(한 강의를 한 두세번씩 보니까 쪼금씩 이해가 되는듯 ,그래도 부족한부분은 스스로 공부해봐야겠다.)😎
'파이썬' 카테고리의 다른 글
프로젝트 서버에 올리기(2) (0) | 2022.10.27 |
---|---|
프로젝트 서버에 올리기(1) (0) | 2022.10.27 |
영화기록 페이지 만들어보기(2)_GET (0) | 2022.10.25 |
영화기록 페이지 만들어보기(1)_POST (0) | 2022.10.25 |
python 크롤링 (0) | 2022.10.24 |