-
Python Flask Example 플라스크 예제 !! 정복하기(1)Python/Python 2021. 1. 15. 18:19반응형
요즘 파이썬 플라스크를 쓸 일이 많아서 공부할겸
파이썬 플라스크에 대한 몇가지 예제를 진행했습니다.
참고 교제는
Flask 기반의 파이썬 웹 프로그래밍 - 저자 이지호
를 참조하여 작성하였습니다
from flask import Flask app = Flask(__name__) # 일반적인 라우트 방식입니다. @app.route('/board') def board(): return "그냥 보드" # URL 에 매개변수를 받아 진행하는 방식입니다. @app.route('/board/<article_idx>') def board_view(article_idx): return article_idx # 위에 있는것이 Endpoint 역활을 해줍니다. @app.route('/boards',defaults={'page':'index'}) @app.route('/boards/<page>') def boards(page): return page+"페이지입니다." app.run(host="localhost",port=5001)
위 예제는 웹을 라우팅하는 몇가지 방식들입니다.
@app.route('/board') def board(): return "그냥 보드"
1) 그냥 단순하게 입력값을 받아서 그 주소로 라우팅해줍니다.
@app.route('/board/<article_idx>') def board_view(article_idx): return article_idx
2) 라우팅한 주소 뒤에 그 다음 주소를 입력 받을 때는 매개 변수로 받습니다.
< > 로 묶어주면 됩니다.
# 위에 있는것이 Endpoint 역활을 해줍니다. @app.route('/boards',defaults={'page':'index'}) @app.route('/boards/<page>') def boards(page): return page+"페이지입니다."
3) 아무것도 없을 때는 디폴트 값을 매개 변수가 있을때는 매개변수 값을 리턴해줍니다.
from flask import Flask app = Flask(__name__) def index(): return 'index' def main(): return 'main' # 데코레이트 방식이 아닌 함수 명령을 사용해서 route를 하는 방식 # 기능의 차이보다는 대규모 관리에서 유용하다고 하네요 app.add_url_rule("/","index",index) app.add_url_rule("/sd","main",main) app.run(host="localhost",port=5002)
해당 예제는 데코레이트 방식이 아닌 함수 명령을 사용하는 라우팅 방식입니다
기능에 차이보다는 유지 보수를 위한 방식이라고 하네요 실행 결과는 생략하겟습니다.
import json from flask import Flask , request app = Flask(__name__) # GET 방식 # URL http://127.0.0.1:5003/board?question=anw @app.route("/board") def board_list(): return f"question 변수의 값은 {request.args.get('question')}" @app.route("/boards",methods=["POST"]) def board_list2(): post_result = json.loads(request.get_data()) return f"question 변수의 값은 {post_result}" @app.route("/dobule",methods=["POST","GET"]) def dobule(): if request.method == "GET": return "GET 요청 내용은{}".format(request.args.get('question')) if request.method == "POST": return "POST 요청 내용은{}".format(json.loads(request.get_data())) app.run(host="localhost",port=5003)
해당 방식은 Flask 에 기본적인 리퀘스트를 요청하는 방식입니다.
@app.route("/board") def board_list(): return f"question 변수의 값은 {request.args.get('question')}"
GET 요청 방식 입니다.
@app.route("/boards",methods=["POST"]) def board_list2(): post_result = json.loads(request.get_data()) return f"question 변수의 값은 {post_result}"
POST 요청 방식입니다.
이상으로 간단하게 몇가지 예제를 진행했습니다.
반응형'Python > Python' 카테고리의 다른 글