"Não preciso mudar o código quando uma URL de rota for ALTERADA." Eu entendo que sim, a rota está ESCRITA NO CÓDIGO, então se houver uma DECISÃO de mudança da rota, ela terá que ser alterada no código, ainda que seja só uma string.
"Não preciso mudar o código quando uma URL de rota for ALTERADA." Eu entendo que sim, a rota está ESCRITA NO CÓDIGO, então se houver uma DECISÃO de mudança da rota, ela terá que ser alterada no código, ainda que seja só uma string.
Paschoal, bom dia. Tudo bem?
Quando utilizamos o helper url_for
, ele utiliza o nome da função e não a rota.
Por exemplo: Temos a rota index (index, porque esse é o nome da função)
@app.route('/')
def index():
lista = Jogos.query.order_by(Jogos.id)
return render_template('index.html', titulo='Jogos', jogos=lista)
Agora vamos referênciar essa rota nas páginas login.html, cadastro.html, novapagina.html, outrapagina.html.
E para isso, utilizamos o {{ url_for('index') }}
em todos os htmls.
Agora imagine que, em um determinado momento, o responsável pelo site pediu para a sua página inicial ter o "/home".
Para isso, nossa única alteração seria na função index que passaria a ter o "/home", assim:
@app.route('/home')
def index():
lista = Jogos.query.order_by(Jogos.id)
return render_template('index.html', titulo='Jogos', jogos=lista)
Com essa alteração, todas as páginas html que estavam buscando a rota index irão continuar funcionando!
Espero que eu tenha conseguido explicar de forma clara!
Tenha bons estudos!