☑️ Flask : 기초
Flask 프레임워크: 서버를 구동시켜주는 편한 코드 모음. 서버를 구동하려면 필요한 복잡한 일들을 쉽게 가져다 쓸 수 있다.
✔︎ 프레임워크는 남이 짜둔 어떤 규칙이나 틀 안에서 내가 코딩을 자유롭게 하니까 편한 것.
✔︎ 라이브러리는 내가 내 마음대로 짜는데 남이 만들어 놓은 것을 중간에 자유롭게 갖다 쓰니까 편한 것.
✔︎ 통상적으로 프레임워크는 하나의 프레임워크 안에서 내가 짜게 되고 그 안에서 라이브러리는 얼마든지 갖다 쓸 수 있다.
localhost :5000 → 내가 만든 서버에 5000번 문으로 접속하겠다.
✦ 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)
✦ URL 나눠보기
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'This is Home!'
@app.route('/mypage')
def mypage():
return 'This is My Page!'
if __name__ == '__main__':
app.run('0.0.0.0',port=5000,debug=True)
☑️ Flask : HTML파일 주기
⭐️ venv는 실제로는 보이지만, 안 보인다 라고 생각하기 ⭐️
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)
☑️ Flask : API 만들기
API : 은행이 고객을 받기 위해서 만들어 놓은 창구처럼 서버 클라언트 요청을 받기 위해서 만들어 놓는 창구
API 종류 (GET, POST)
✽ GET → 통상적으로! 데이터 조회(Read)를 요청할 때
예) 영화 목록 조회
→ 데이터 전달 : URL 뒤에 물음표를 붙여 key=value로 전달
→ 예: google.com?q=북극곰
✽ POST → 통상적으로! 데이터 생성(Create), 변경(Update), 삭제(Delete) 요청 할 때
예) 회원가입, 회원탈퇴, 비밀번호 수정
→ 데이터 전달 : 바로 보이지 않는 HTML body에 key:value 형태로 전달
@app.route('/test', methods=['GET'])
def test_get():
title_receive = request.args.get('title_give')
→ 'title_give'로 요청온 값을 찍어봐라
print(title_receive)
return jsonify({'result':'success', 'msg': '이 요청은 GET!'})
$.ajax({
type: "POST",
url: "/test",
data: { title_give:'봄날은간다' },
success: function(response){
console.log(response)
}
})
@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)
}
})
나는 안 맞는거 같다....뭔 소린지 머리에 주입도 안 된다. . 괜히 도전했다. 아니 아예 응용조차 안되는걸? 화딱지가 나서 못 해먹겠다