์๋ฒ๋ฅผ ๋ง๋ค ์ ์๋ ํ๋ ์์ํฌ
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)
1) html ํ์ผ ๋ถ๋ฌ์ค๊ธฐ
์๋ฒ์์ html ํ์ผ์ ๋ถ๋ฌ์ค๊ธฐ ์ํด์๋ flask์ ๋ด์ฅํจ์์ธ 'render_template' ์ ์ด์ฉํ๋ค.
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)
2) GET/POST ์์ฒญ์์ ํด๋ผ์ด์ธํธ์ ๋ฐ์ดํฐ๋ฅผ ์ป๋ ๋ฐฉ๋ฒ
@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)
}
})
@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)
}
})
์ธ์ ๋ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์๋ตํ๊ธฐ ์ํด์๋ ์ปดํจํฐ๊ฐ ํญ์ ์ผ์ ธ์๋์ํ์ฌ์ผํ๊ณ ,
๊ณต๊ฐ IP์ฃผ์๋ก ๋์ ์น์๋น์ค์ ์ ๊ทผํ ์ ์๊ฒ ํด์ผํ๋ค. ํ์ง๋ง ๋ด ์ปดํจํฐ๋ฅผ ๊ณ์ ์ผ๋ ์ ์๊ธฐ๋๋ฌธ์ AWS๋ผ๋ ํด๋ผ์ฐ๋ ์๋น์ค์์ EC2์๋ฒ๋ฅผ ์ด์ฉํด ๋ด ์ ์ฉ ์ปดํจํฐ๋ฅผ ๊ตฌ์
ํ๊ณ ์ ์ํ๋ค. (Filezilla๋ก EC2์ ์
๋ก๋)
์
๋ก๋๋ฅผ ํ๊ธฐ์ ์ pip๋ก ํจํค์ง๋ฅผ ์ค์นํด์ค๋ค(flask,pymongo,dnspython)
๋ง์ง๋ง์ผ๋ก AWS์์ 5000ํฌํธ๋ฅผ ์ด์ด์ฃผ๊ณ , git-bash๋ก nohup python app.py & ๋ฅผ ์คํํ์ฌ ์ปดํจํฐ๊ฐ ๊ณ์ ์ผ์ ธ์๋๋ก ์ค์ ํด์ค๋ค.
์๋ฒ์ ํด๋ผ์ด์ธํธ ํต์ ํ๋ ๋ถ๋ถ๊ฐ์ ๊ฒฝ์ฐ์๋ ์๋ ์ฒ์ ๊ฐ์๋ฅผ ๋ค์์๋ ์ดํดํ๊ธฐ ์ด๋ ค์ด ๋ถ๋ถ์ด์๋ค. ํ์ง๋ง ๊ฐ์๋ฅผ ์ฌ๋ฌ๋ฒ ๋ณต์ตํ๊ณ ๋๋ ์์ฐ์ ์ผ๋ก '์ ์ด๊ฒ ์ด๊ฑฐ๊ณ ์ด๋์ ๋์ํ๋๊ตฌ๋!!' ๋ผ๊ณ ๊นจ๋ฌ์ ์ ์์๋ค.
์ค๋๊น์ง๋ ๊ฐ์๋ฅผ ๋ณต์ตํ๋ ์๊ฐ์ ๊ฐ์ก๊ณ . ๋ด์ผ๋ถํฐ๋ ๋ณธ๊ฒฉ์ ์ผ๋ก ๋ฏธ๋ํ๋ก์ ํธ๋ฅผ ์ํํ ํ
๋ฐ, ์ง๊ธ๊น์ง ๋ด๊ฐ ๋ฐฐ์ด ๊ฒ๋ค์ด ๋ชจ๋ ํ๋์ง์๊ฒ ์ ํ์ฉํ๋ ์๊ฐ์ด ๋์์ผ๋ฉด ์ข๊ฒ ๋ค.
๋ฉ์์ต๋๋ค! ๋ณต์ต์ ์ ๋ง ์ค์ํฉ๋๋ค