01.Flask 기초 - route 설정

ID짱재·2021년 4월 20일
0

Flask

목록 보기
2/8
post-thumbnail

🌈 route 설정

🔥 route 설정으로 여러 페이지 만들기

🔥 <username>


1. route 설정으로 여러 페이지 만들기

  • 데코레이션을 통해 route를 여러개 만들어 여러개의 페이지 경로를 만들 수 있음
from flask import Flask
# falsk 객체 생성
app = Flask(__name__)
# 데코레이션(/)
@app.route("/")  # http://127.0.0.1:8080/
def hello():
    return  "<h1>Hello</h1>"
# 데코레이션(/hello)
@app.route("/hello") # http://127.0.0.1:8080/hello
def hello_flask():
    return  "<h1>Hello Flask!</h1>"
# 데코레이션(/first)
@app.route("/first") # http://127.0.0.1:8080/first
def hello_first():
    return  "<h3>This is first Page!</h3>"
# flask 구동
if __name__ == '__main__':
    app.run(host="127.0.0.1", port="8080")

2. <username>

  • @app.route('/<변수 이름>')을 지정하면, <변수이름>가 데코레이션 아래 함수에 인자로 들어가 처리됨
  • 즉, route에서 <>로 변수명을 지정하면, 아래 암수에 인자로 보낸 뒤 함수 안에서 활용 가능
  • 이에 http://127.0.0.1:8080/profile/jaewon 경로로 url을 입력하면, 화면에 profile : jaewon 이라고 출력되 있음
  • return "profile : " + username 에 username 값으로 전달했기 때문임
from flask import Flask
# falsk 객체 생성
app = Flask(__name__)
# 데코레이션(/)
@app.route("/")  # http://127.0.0.1:8080/
def hello():
    return  "<h1>Hello</h1>"
# 데코레이션(/hello)
@app.route("/hello/<username>") # http://127.0.0.1:8080/hello/입력값
def hello_user(username):
    return  "Welcome " + username + "!"    
# 데코레이션(/profile)
@app.route("/profile/<username>") # http://127.0.0.1:8080/profile/입력값
def get_profile(username):
    return  "profile : " + username
# flask 구동
if __name__ == '__main__':
    app.run(host="127.0.0.1", port="8080")
  • URI 변수를 사용할 때, 데이터 타입도 지정해줄 수 있음
  • 데이터 타입이 없으면 string으로 인식하는 것이 Default 값임
    • 정수 타입 : <int:int_id>
    • 실수 타입 : <float:float_id>
from flask import Flask
# falsk 객체 생성
app = Flask(__name__)
# 함수 선언
def add_file(data):
    return data + 5
# 데코레이션
@app.route("/")
def hello():
    return  "<h1>Hello Flask!</h1>"
# 데코레이션(/hello)
@app.route("/message/<int:int_id>") 
def get_message(int_id):
    return  "message ID : %d" % int_id # %d는 int
# 데코레이션(/profile)
@app.route("/first/<float:float_id>")
def get_first(float_id):
    data = add_file(float_id)
    return  "<h1>%f</h1>" % (data) # %f는 float
# flask 구동
if __name__ == '__main__':
    app.run(host="127.0.0.1", port="8080")
profile
Keep Going, Keep Coding!

0개의 댓글