Flask
기본 코드
from flask import Flask, render_template, jsonify
from pymongo import MongoClient
app = Flask(__name__)
client = MongoClient('localhost', 27017)
db = client.dbhomework
# HTML 화면 보여주기
@app.route('/')
def homework():
return render_template('index.html')
# 주문하기(POST) API
@app.route('/order', methods=['POST'])
def save_order():
sample_receive = request.form['sample_give']
print(sample_receive)
return jsonify({'msg': '이 요청은 POST!'})
# 주문 목록보기(Read) API
@app.route('/order', methods=['GET'])
def view_orders():
sample_receive = request.args.get('sample_give')
print(sample_receive)
return jsonify({'msg': '이 요청은 GET!'})
if __name__ == '__main__':
app.run('0.0.0.0', port=5000, debug=True)
폴더 구조
Flask를 사용하기 위해서는 폴더 구조를 갖춰야 한다.
static 폴더에 CSS나 이미지 파일들을 담아둘 때 쓴다.
templates 폴더는 html 파일을 담아둘 때 쓴다.
templates 폴더에 미리 담아둔 html 파일은 render_template()에 해당 파일 이름을 문자열로 전달하여 사용할 수 있다.
@app.route() 사용법
@app.route의 첫번째 전달인자로 경로를 넣어준다. 해당 경로로 요청이 들어왔을 때, 처리된다. (창구의 개념)
@app.route의 methods 전달인자로 ['GET']이나 ['POST']를 넣어주면 해당 GET 요청이나 POST 요청이 들어왔을 때, 아래 정의한 함수가 실행된다.
POST 방식의 경우 data로 전달한 내용이 request.form에 담겨있어 키값을 이용해 접근할 수 있다.
GET 방식의 경우 url로 전달한 인자들을 request.args.get() 함수에 해당 문자열을 전달하여 값을 얻을 수 있다.
'내일배움단 > 웹개발 종합반' 카테고리의 다른 글
[내일배움단] 웹개발 종합반 - 5주차 - 배운 내용 정리 (0) | 2022.05.31 |
---|---|
[내일배움단] 웹개발 종합반 - 4주차 - 배운 내용 정리 (0) | 2022.05.26 |
[내일배움단] 웹개발 종합반 - 4주차 - 오늘 배울 것 (0) | 2022.05.25 |
[내일배움단] 웹개발 종합반 - 3주차 - 배운 내용 정리 (0) | 2022.05.25 |
[내일배움단] 웹개발 종합반 - 2주차 - 배운 내용 정리 (0) | 2022.05.24 |