flask 라우팅

bird.j·2021년 2월 19일
0

flask

목록 보기
3/7

플라스크 정적 페이지 라우팅


플라스크는 복잡한 URL을 쉽게 함수로 연결하는 방법을 제공한다. 해당 기능인 route()함수를 사용해 쉽고 빠르게 원하는 URL을 처리하는 기능을 만들 수 있다.

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_flask():
	return 'Hello World'

if __name__ == '__main__':
	app.run()

여기에서는 localhost:5000으로 접속하면 hello_flask함수가 실행되면서 Hello World 문자열이 출력되지만,

from flask import Flask
app = Flask(__name__)

@app.route('/hello')
def hello_flask():
	return 'Hello World'

if __name__ == '__main__':
	app.run()

여기에서는 하위경로(/hello)로 들어가야만 함수가 실행되며 문자열이 출력된다.
즉, localhost:5000/hello로 url을 입력해야한다.



플라스크 동적 페이지 라우팅


직접 URL을 지정하는 것이 아닌 상황에 따라 다른 URL 적용도 가능. 또한 여러 URL을 한 함수에 적용할 수도 있음. URL에 동적인 변수를 사용하려면 원하는 위치에 "<변수>" 형태로 추가. 해당 변수는 URL과 일치하는 뷰 함수의 인자로 사용할 수 있다.

@app.route('/profile/<username>')
def get_profile(username):
	return 'profile : ' + username

위 코드에서 동적으로 변경되는 부분은 인자로 전달될 username 변수에 해당.
변수 username은 해당 URL과 일치하는 뷰 함수인 get_profile함수의 인자로 들어가 함수 내에서 사용된다.

@app.route('/message/<int:message_id>')
def get_message(message_id):
	return 'message_id: %d' % message_id

<변환타입:변수>형태로 기입해 문자열이 아닌 다른 형태로 변환할 수도 있다.

0개의 댓글