728x90
○ Flask 설치하기
conda install -c conda-forge flask
○ Flask 구조
Django와 달리 app 을 사용하지 않음
html 경로 작성시 맨 앞에 '/' 붙임
render 대신 render_template
Django의 views.py의 함수 사용시 Flask에서는 @app.route의 방식 사용
딕셔너리 형태로 return 하지 않고 key = value, key2 = value2 형태로 return
Get 방식일때는 request.args.get()
Post 방식일때는 request.form.get()
### 서버 환경설정하기
# flask 기본 라이브러리
from flask import Flask
# GET/POST 파라메터 받아오는 라이브러리
from flask import request
# HTML 파일을 관리하기 위한 templates 폴더 자동 지정
from flask import render_template
# css, js, 이미지 등 정적 파일 관리 static 폴더 자동 지정
from flask import url_for
from model.cart_model import Cart
from model.member_model import Member
### flask 시작점
app = Flask(__name__)
########################## 프로그램 영역 ###############################
@app.route("/cart_list/")
def cart_list():
# model(DB)처리
# Cart 생성하기
cart = Cart()
# 장바구니 전체 정보 조회하기
# - cart_cnt : 정수값
# - cart_list : [{'컬럼명' : 값 , '컬럼명' : 값 ...},{},{}]
cart_cnt, cart_list = cart.getcartList()
# 반환
return render_template(
"/cart/cart_list.html",
cart_cnt = cart_cnt,
cart_list = cart_list
)
@app.route("/mem_view/", methods=["GET"])
def mem_view():
### 요청 파라메터 받기 : request가 가지고 있음
mem_id = request.args.get("mem_id","none")
# DB 조회
member = Member()
rs_cnt, mem_view = member.getmemberView(mem_id)
return render_template(
"/member/mem_view.html",
mem_id = mem_id,
rs_cnt = rs_cnt,
mem_view = mem_view
)
########################################################################
### 프로그램(서버) 시작점
if __name__ == "__main__":
# flask 웹서버 실행
app.run(debug=True)
728x90
'Python' 카테고리의 다른 글
[Django] DB 연결 및 데이터 추출 & 웹에 출력하기 (1) | 2024.02.06 |
---|---|
[Django] 시작하기 (0) | 2024.02.05 |
Python 예제#2 (6) | 2023.11.17 |
Python 정규표현식 (0) | 2023.11.16 |
Python 제너레이터(Generator) (0) | 2023.11.16 |