URL Routes
라우트는 url을 따라 이동시키는 것을 의미합니다.
url은 유저가 쉽게 찾아볼 수 있도록 웹페이지의 주소를 나타내는 것이고, routes는 특정 페이지와 그 주소를 연결하는 것을 뜻합니다. 이 부분을 끝내면 우리는 첫 웹페이지를 띄울 수 있게 됩니다.
Example of URL
github의 notification관련 페이지의 url입니다.
github.com
은 공통 주소입니다. 뒤에 붙는 notifications
부분의 경우 페이지마다 다르게 부여되는 주소입니다. routing
은 뒤에 붙는 notification부분을 변경할 때, 내 웹서버 안에 서로 다른 페이지들을 이동시키는 기능을 수행합니다.
Flask 코드 예시 1 - Index Web Page
코드를 통해서 예시를 들어봅시다.
이렇게 작성하면 라우팅이 완성됩니다. 매우 쉽게 첫 페이지를 띄울 수 있습니다. application.py
안에 위에 함수와 @(데코레이터)를 사용한 코드를 통해 라우팅을 수행합니다.
간단하게 보면, route 함수 안에 str
형태로 우리가 원하는 URL을 넣어줍니다. 그러면 해당 URL에 접속했을 때, 데코레이터(@app.route("/")
) 바로 밑에 있는 함수를 실행하게 됩니다.
자 이제 첫번째 페이지를 띄워봅시다. application.py
를 실행하시면 됩니다. 아래의 코드를 통해서 실행하시면 됩니다.
python3 application.py
여러 복잡한 메시지와 함께, 실행이 되는 것을 확인해보실 수 있습니다. 저와 동일하게 코드를 작성하셨을 경우
http://0.0.0.0:5000/
를 통해 웹사이트를 확인해볼 수 있습니다. hello라는 문구가 정상적으로 실행이 되었다면 성공적입니다.
함수의 기능
함수의 기능은 무언가를 수행하도록 하는 것입니다. 여기서는 url로 접속을 시도했을 때, 데코레이터 바로 아래에 있는 함수를 실행시킵니다.
그리고 return
의 경우 웹페이지로 어떤 것을 ‘반환’해줄 지를 말하는 것입니다.
Code Example2 - Other URL Routing
이제 다른 url도 만들어봅시다. 이 부분의 경우 여러분의 url개념 이해를 도와드리기 위함입니다.
이 코드를 살펴봅시다. 이제 test라는 url이 라우팅됩니다.
http://0.0.0.0:5000/test
를 접속하게 되면 test라는 문구가 출력됩니다. 아까 처음 url예시에서 본 것을 생각해보시면 편합니다. github.com
은 우리의 url에서 http://0.0.0.0:5000
을 의미하게 됩니다. 그리고 /notification
의 경우 우리 url에서는 test
에 해당하게 됩니다.
지금까지는 간단한 글자를 반환해주었는데, 이후 강의에서는 HTML을 통해 실제 웹페이지를 반환하도록 해줄 것입니다.