Flask

2. Маршруты

Для того, чтобы у вашего сайта была больше, чем одна страница, следует воспользоваться

@app.route(*путь*)

и после этой строчки написать функцию, которая будет возвращать страницу по этому пути.

К примеру, чтобы показать описание сайта, можно сделать отдельную страницу по адресу "localhost:5000/about" :
from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello_world():
     return 'Hello page!'

@app.route("/about")
def about_page():
    return 'Its about page!'

app.run()

Также можно добавить переменные в путь, к примеру:

@app.route(/user/<username>) # синтаксис <*имя переменной*> позволяет задать имя переменной
def user_page(username): #обратите внимание, что у функции появился параметр
    #сюда можно добавить проверку на то, что пользователь существует
    return 'Its page of ' + username

Тогда при обращении по адресу
localhost:5000/user/Abrakadabra
мы увидим
Its page of Abrakadabra

Разрешается использовать сразу несколько переменных в пути, а также задавать, какого типа будет переменная:

@app.route(/user/<string:username>/post/<int:post>)
def user_page(username): #обратите внимание, что у функции появился параметр
    #сюда можно добавить проверку на то, что пользователь существует, и пост с этим номером существует
    return 'Its page of (string)' + username + ' and post with number ' + post

Таким образом гарантируется, что post будет именно числом. Иначе сайт выдаст ошибку, что такого адреса в сайте нет.  При обращении по адресу
localhost:5000/user/Abrakadabra/post/2086
мы увидим
Its page of Abrakadabra and post with number 2086

Все возможные типы:

string

(по умолчанию) принимает любую строку без слэшей ("/")

int

принимает любые положительные целые числа

float

принимает любые положительные числа с точкой ("3.14")

path

как string, но ещё и принимает слэши