ํ ํ๋ก์ ํธ๊ฐ ์์๋๊ณ 3์ผ์ฐจ ๋๋ ๋
์๋ฌด๋ฐ ์ง์ ์ด ์๋ค..
๋งก์ ์ญํ ์ ๊ด๋ จ ๊ฐ์๋ฅผ ์ฐพ์ ๋ค์ ๋ฐฐ์๋ณธ๋ค.
Flask ํ๋ ์์ํฌ
- ์๋ฒ๋ฅผ ๊ตฌ๋์์ผ์ฃผ๋ ํธํ ์ฝ๋ ๋ชจ์
- ํ๋ ์์ํฌ๋ ๊ฐ๋ฐ์๋ค์ 3๋ถ ์๋ฆฌ
- flask ๊ธฐ๋ณธ๊ตฌ์กฐ
from flask import Flask, render_template, request, jsonify
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)
Flask ๊ธฐ์ด
- static ํด๋ (์ด๋ฏธ์ง, cssํ์ผ์ ๋ฃ์ด๋ก๋๋ค)
- templates ํด๋ (htmlํ์ผ์ ๋ฃ์ด๋ก๋๋ค)
- app.py ํ์ผ
GET, POST
GET
- ๋ฐ์ดํฐ ์กฐํ(Read)๋ฅผ ์์ฒญํ ๋
- ๋ฐ์ดํฐ ์ ๋ฌ : URL ๋ค์ ๋ฌผ์ํ๋ฅผ ๋ถ์ฌ key=value๋ก ์ ๋ฌ
- ์: google.com?q=๋ถ๊ทน๊ณฐ
function hey() {
$.ajax({
type: "GET",
// /test ๋ผ๋ ์ฐฝ๊ตฌ์ ๊ฐ๋๋ฐ title_give ๋ผ๋ '์ด๋ฆ์ผ๋ก ๋ด๋ ์๊ฐ๋ค' ๋ฅผ ๊ฐ์ ธ๊ฐ๊ฒ
url: "/test?title_give=๋ด๋ ์๊ฐ๋ค",
data: {},
// ์ ๋๋ค๋ฉด console ์ ์ฐ์ด๋ณผ๊ฒ
success: function (response) {
console.log(response)
}
})
}
@app.route('/test', methods=['GET'])
def test_get():
# title_give ์ด๋ฆ์ผ๋ก ๋ญ๊ฐ๋ฅผ ๋ฐ์์์ title_receive ๋ผ๋ ๋ณ์์ ๋ฃ๊ณ
title_receive = request.args.get('title_give')
# title_receive ๋ฅผ ํ์ํ๋ค.
print(title_receive)
return jsonify({'result': 'success', 'msg': '์ด ์์ฒญ์ GET!'})
POST
- ๋ฐ์ดํฐ ์์ฑ(Create), ๋ณ๊ฒฝ(Update), ์ญ์ (Delete) ์์ฒญ ํ ๋
- ์) ํ์๊ฐ์
, ํ์ํํด, ๋น๋ฐ๋ฒํธ ์์
- ๋ฐ์ดํฐ ์ ๋ฌ : ๋ฐ๋ก ๋ณด์ด์ง ์๋ HTML body์ key:value ํํ๋ก ์ ๋ฌ
function hey() {
$.ajax({
type: "POST",
// /test ์ ์๋
url: "/test",
// ๋ด๋ ์๊ฐ๋ค ๊ฐ์ ๊ฐ์ ธ๊ฐ๋ค.
data: {title_give: '๋ด๋ ์๊ฐ๋ค'},
success: function (response) {
console.log(response)
}
})
}
# /test ๋ผ๋ ์ฐฝ๊ตฌ๋ฅผ ๋ง๋ค๊ณ ๊ทธ ์ฐฝ๊ตฌ์๋ POST ๋ง ๋ฐ๋ ๊ฒ์ ์ด์ชฝ์ผ๋ก ์๋ผ
@app.route('/test', methods=['POST'])
def test_post():
# title_give ๋ฅผ ๋ฐ์์์ title_receive ๋ก ๋๊ฒจ์ฃผ๊ณ
title_receive = request.form['title_give']
#
print(title_receive)
return jsonify({'result':'success', 'msg': '์์ฒญ์ ์ ๋ฐ์์ด์!'})