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

Construcción de URL de Flask

La función url_for() es muy útil para construir dinámicamente la URL de una función específica. La función acepta el nombre de la función como primer parámetro y puede aceptar uno o más parámetros de palabra clave, cada uno de los cuales corresponde a una parte variable de la URL.

El siguiente script muestra el uso de la función url_for().

# Nombre de archivo : example.py
# Derechos de autor : 2020 Por w3codebox
# Autor por: es.oldtoolbag.com
# Fecha : 2020-08-08
from flask import Flask, redirect, url_for
 app = Flask(__name__)
 @app.route('/admin')
 def hello_admin():
     return 'Hola Admin'
 @app.route('/guest/<guest>')
 def hello_guest(guest):
     return 'Hola %s como invitado' % guest
 @app.route('/usuario/<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)

El script tiene una función user(name), que acepta valores de parámetros de la URL.

La función User() verifica si los parámetros recibidos coinciden con 'admin'. Si coinciden, utiliza url_for() para redirigir la aplicación al función hello_admin(). De lo contrario, pasa el parámetro recibido como parámetro guest a la función hello_guest().

Guarde el código anterior en un archivo: hello.pyy ejecute desde el shell de Python.

Abra el navegador e ingrese la URL - http://localhost:5000/usuario/admin

El resultado de la respuesta del programa en el navegador es -

# Nombre de archivo : example.py
# Derechos de autor : 2020 Por w3codebox
# Autor por: es.oldtoolbag.com
# Fecha : 2020-08-08
Hola Admin

Ingrese la siguiente URL en el navegador - http://localhost:5000/usuario/mvl

El resultado de la respuesta del programa ahora es -

# Nombre de archivo : example.py
# Derechos de autor : 2020 Por w3codebox
# Autor por: es.oldtoolbag.com
# Fecha : 2020-08-08
Hola mvl como invitado