플라스크는 복잡한 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
<변환타입:변수>형태로 기입해 문자열이 아닌 다른 형태로 변환할 수도 있다.