참조 링크 (link)>>
flask.palletsprojects.com/en/1.1.x/quickstart/
1. Route 기능
라우트는 외부 웹브라우져에서 웹서버로 접근 시 해당 주소로 입력을 하게 되면 특정 함수가 실행되게 도와주는 기능을 한다.
아래 예제 코드는 /hello 라는 주소에 접근하면 return 으로 'Hello, World' 을 보낸다.
코드 >>
from flask import *
#########################################################
# Flask 선언
app = Flask(__name__, template_folder="templates")
@app.route('/hello')
def hello():
return 'Hello, World'
if __name__ == "__main__":
app.run(host='0.0.0.0', debug=True, port=9999)
결과>>
2. 웹브라우저를 통해 변수 보내는 방법
페이지를 넘기거나 할때 변수 정보만 보내는 경우가 있다.
파이썬 flask에서 변수를 받을 때 주의할 점은 <> 화살표 괄호 안에 받는 형태를 정의해야한다. 그리고 변수의 형태를 정의하지 않으면 기본값은 string으로 인식되어 간다.
아래 테이블은 사용할 수 있는 변수 타입니다.
예제 코드를 통해 결과를 확인해 보자.
코드 >>
from flask import *
from markupsafe import escape
#########################################################
# Flask 선언
app = Flask(__name__, template_folder="templates")
@app.route('/user/<username>')
def show_user_profile(username):
# show the user profile for that user
return 'User %s' % escape(username)
@app.route('/post/<int:post_id>')
def show_post(post_id):
# show the post with the given id, the id is an integer
return 'Post %d' % post_id
@app.route('/path/<path:subpath>')
def show_subpath(subpath):
# show the subpath after /path/
return 'Subpath %s' % escape(subpath)
if __name__ == "__main__":
app.run(host='0.0.0.0', debug=True, port=9999)
결과>>
3. url 표기 방법
url은 route뒤에 괄호( ) 안에 넣어준다. 이때 url 끝에 슬래시 (trailing slash) 를 넣지 않으면 문제가 발생할 수 있다.
아래 예제 코드에서 project 뒤에 슬래시가 있으면 명확한 주소 인식하게 된다. 그래서 만일 사용자가 웹브라우져로 해당 url 에 접근 시 http://localhost:9999/projects/ 로 접근해도 되고 http://localhost:9999/projects 로 접근해도 된다.
후자의 경우 웹브라우져에서 자동으로 / 를 붙여 준다.
about의 경우 http://localhost:9999/about 의 경우만 접근이 가능하고 http://localhost:9999/about/ 은 404 에러를 띄우게 된다.
코드>>
from flask import *
from markupsafe import escape
#########################################################
# Flask 선언
app = Flask(__name__, template_folder="templates")
@app.route('/projects/')
def projects():
return 'The project page'
@app.route('/about')
def about():
return 'The about page'
if __name__ == "__main__":
app.run(host='0.0.0.0', debug=True, port=9999)
결과>>
'파이썬(Python) > Flask' 카테고리의 다른 글
파이썬 Flask 기능 정리 - render_template, jinja2 (0) | 2021.01.29 |
---|---|
파이썬 Flask 기능 정리 - url_for, HTTP 요청(GET,POST,PUT,DELETE,OPTIONS)과 처리방법 (0) | 2021.01.28 |
bootstrap 예제 가져와서 사용해보기(로그인페이지) (0) | 2020.12.16 |
jquery 예제 설명, cdn이란 (0) | 2020.12.16 |
Flask route란 (0) | 2020.12.15 |