English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Construção de URL Flask

A função url_for() é muito útil para construir URLs específicas dinamicamente. A função aceita o nome da função como primeiro parâmetro e aceita um ou mais parâmetros nomeados, cada um correspondendo à parte variável da URL.

O seguinte script demonstra o uso da função url_for().

# Nome do Arquivo : example.py
# Copyright : 2020 Por w3codebox
# Autor por: pt.oldtoolbag.com
# Data : 2020-08-08
from flask import Flask, redirect, url_for
 app = Flask(__name__)
 @app.route('/admin')
 def hello_admin():
     return 'Olá Admin'
 @app.route('/guest/<guest>')
 def hello_guest(guest):
     return 'Olá %s como Convidado' % guest
 @app.route('/user/<name>'
 def user(name):
     if name == 'admin':
         return redirect(url_for('hello_admin'))
     else:
         return redirect(url_for('hello_guest', guest = name))
 if __name__ == '__main__':
     app.run(debug = True)

O script acima tem uma função user(name), que aceita o valor do parâmetro da URL.

A função User() verifica se o parâmetro recebido coincide com 'admin'. Se coincidir, usa url_for() para redirecionar o aplicativo para a função hello_admin(). Caso contrário, passa o parâmetro recebido como parâmetro guest para a função hello_guest().

Salve o código acima em um arquivo: hello.pye execute a partir do shell do Python.

Abra o navegador e insira a URL - http://localhost:5000/user/admin

A saída do aplicativo no navegador é -

# Nome do Arquivo : example.py
# Copyright : 2020 Por w3codebox
# Autor por: pt.oldtoolbag.com
# Data : 2020-08-08
Olá Admin

Insira o seguinte URL no navegador - http://localhost:5000/user/mvl

A resposta do aplicativo agora se torna -

# Nome do Arquivo : example.py
# Copyright : 2020 Por w3codebox
# Autor por: pt.oldtoolbag.com
# Data : 2020-08-08
Olá mvl como Convidado