Flask Web Framework
파이썬으로 웹 개발을 하기 위한 프레임워크 중 하나.
서버를 쉽게 만들 수 있다.
django와 함께 파이썬 웹 프레임워크의 양대산맥이며 각기 장단점이 존재한다.
Flask - 가볍고 자유로움 (모듈의 선택폭이 넓음)
Django - 편리하고 생산성이 높음(자체 내장 기능으로 익숙해지면 DB 관리가 쉽다)
django가 상대적으로 사용자 수는 많아 소스 구하기는 쉽다고 한다.
Flask 기본 폴더구조
Projects
ㄴstatic 폴더 (이미지, css파일)
ㄴtemplates 폴더 (html파일)
ㄴapp.py 파일
flask 시작 코드)
1
2
3
4
5
6
7
8
9
|
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)
|
cs |
http://localhost:5000/ 에 접속해서 로컬(개인) 호스트 작업이 가능하다.
flask url 나누기)
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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)
|
cs |
flask html 파일 불러오기)
1
2
3
4
5
6
7
8
9
10
11
12
|
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)
|
cs |
데이터 주고 받는 법
0) jquery import (html)
1
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
|
cs |
1) request, jsonify import (python)
1
|
from flask import Flask, render_template, request, jsonify
|
cs |
GET 요청 API코드 (python)
1
2
3
4
5
|
@app.route('/test', methods=['GET'])
def test_get():
title_receive = request.args.get('title_give')
print(title_receive)
return jsonify({'result':'success', 'msg': '이 요청은 GET!'})
|
cs |
GET 요청 확인 Ajax코드 (html)
1
2
3
4
5
6
7
8
|
$.ajax({
type: "GET",
url: "/test?title_give=봄날은간다",
data: {},
success: function(response){
console.log(response)
}
})
|
cs |
POST 요청 API코드 (python)
1
2
3
4
5
|
@app.route('/test', methods=['POST'])
def test_post():
title_receive = request.form['title_give']
print(title_receive)
return jsonify({'result':'success', 'msg': '이 요청은 POST!'})
|
cs |
POST 요청 확인 Ajax코드 (html)
1
2
3
4
5
6
7
8
|
$.ajax({
type: "POST",
url: "/test",
data: { title_give:'봄날은간다' },
success: function(response){
console.log(response)
}
})
|
cs |
프론트에서 백으로 넘겨줄 데이터가 없을 때는 GET
프론트에서 백으로 넘겨줄 데이터가 있을 때는 POST를 자주 사용한다.
'Development > Python' 카테고리의 다른 글
반복문 돌려가며 Dictionarys in Array 로 만들기 (0) | 2022.08.28 |
---|---|
Flask, mongoDb 사용하여 파일 저장 기능 만들기 (0) | 2022.08.28 |
Flask session 사용 (0) | 2022.08.21 |
git-bash 서버 환경설정 (ubuntu, python-flask) (0) | 2022.07.24 |
python, mongoDb (0) | 2022.07.22 |