본 포스팅은 작성자의 기억을 되새김질하기 위해 작성되었습니다.
본 포스팅에서는 파이썬(python)의 Flask라는 프레임워크를 사용해서 서버를 만드는 방법에 대해 알아보자
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)
크롬에서 http://localhost:5000/으로 접속해보자
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)
url별로 함수명이 같거나 route('/)내의 주소가 같으면 안된다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<title>Document</title>
</head>
<body>
<h1>서버를 만들었다!</h1>
</body>
</html>
flask 내장함수 render_template를 이용한다.
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)
GET - 통상적을 데이터 조회(READ)를 요청한다
- 데이터 전달 : 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')
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)
}
})
[작성 팁]
1. 클라이언트와 서버 연결 확인
2. 서버부터 만들기
3. 클라이언트 만들기
4. 동작 확인