Enrutamiento de la aplicación Flask

El enrutamiento de aplicaciones significa asignar las URL a una función específica que manejará la lógica de esa URL. Los marcos web modernos usan URL más significativas para ayudar a los usuarios a recordar las URL y simplificar la navegación. 

Ejemplo: en nuestra aplicación, la URL (“/”) está asociada con la URL raíz. Entonces, si el dominio de nuestro sitio fuera www.example.org y queremos agregar el enrutamiento a «www.example.org/hello», usaríamos «/hello». 

Para vincular una función a una ruta URL, usamos el decorador app.route . En el siguiente ejemplo, hemos implementado el enrutamiento anterior en el matraz.

main.py

from flask import Flask
  
app = Flask(__name__)
  
# Pass the required route to the decorator.
@app.route("/hello")
def hello():
    return "Hello, Welcome to GeeksForGeeks"
    
@app.route("/")
def index():
    return "Homepage of GeeksForGeeks"
  
if __name__ == "__main__":
    app.run(debug=True)

La función hola ahora está asignada con la ruta «/ hola» y obtenemos el resultado de la función representada en el navegador.

Paso para ejecutar la aplicación: Ejecute la aplicación usando el siguiente comando.

python main.py

Salida: abra el navegador y visite 127.0.0.1:5000/hello , verá la siguiente salida.

URL dinámicas: también podemos crear URL dinámicas mediante el uso de variables en la URL. Para agregar variables a las URL, use la regla <nombre_variable>. La función luego recibe el <nombre_variable> como argumento de palabra clave.

Ejemplo: Considere el siguiente ejemplo para demostrar las URL dinámicas.

main.py

from flask import Flask
  
app = Flask(__name__)
  
@app.route('/user/<username>')
def show_user(username):
    # Greet the user
    return f'Hello {username} !'
  
# Pass the required route to the decorator.
@app.route("/hello")
def hello():
    return "Hello, Welcome to GeeksForGeeks"
    
@app.route("/")
def index():
    return "Homepage of GeeksForGeeks"
  
if __name__ == "__main__":
    app.run(debug=True)

Paso para ejecutar la aplicación: Ejecute la aplicación usando el siguiente comando.

python main.py

Salida: abra el navegador y visite 127.0.0.1:5000/user/geek , verá la siguiente salida.

Además, también podemos usar un convertidor para convertir la variable a un tipo de datos específico. De forma predeterminada, se establece en valores de picadura. Para convertir, use <converter:variable_name> y se admiten los siguientes tipos de convertidores.

  • picadura: Es el tipo por defecto y acepta cualquier texto sin barra.
  • int: Acepta enteros positivos.
  • float: Acepta valores positivos de coma flotante.
  • ruta: Es como una string pero también acepta barras.
  • uuid: Acepta strings UUID.

Ejemplo: Considere el siguiente ejemplo para demostrar el tipo de convertidor.

main.py

from flask import Flask
  
app = Flask(__name__)
  
@app.route('/post/<int:id>')
def show_post(id):
    # Shows the post with given id.
    return f'This post has the id {id}'
  
@app.route('/user/<username>')
def show_user(username):
    # Greet the user
    return f'Hello {username} !'
  
# Pass the required route to the decorator.
@app.route("/hello")
def hello():
    return "Hello, Welcome to GeeksForGeeks"
    
@app.route("/")
def index():
    return "Homepage of GeeksForGeeks"
  
if __name__ == "__main__":
    app.run(debug=True)

Paso para ejecutar la aplicación: Ejecute la aplicación usando el siguiente comando.

python main.py

Salida: abra el navegador y visite 127.0.0.1:5000/post/13 , verá la siguiente salida.

La función add_url_rule(): la asignación de URL también se puede realizar mediante la función add_url_rule(). Este enfoque se usa principalmente en caso de que estemos importando la función de vista desde otro módulo. De hecho, app.route llama a esta función internamente. 

Sintaxis:

add_url_rule(<url rule>, <endpoint>, <view function>) 

Ejemplo: En el siguiente ejemplo, intentaremos mapear la función de vista show_user usando este enfoque.

main.py

from flask import Flask
  
app = Flask(__name__)
  
def show_user(username):
    # Greet the user
    return f'Hello {username} !'
    
app.add_url_rule('/user/<username>', 'show_user', show_user)
  
if __name__ == "__main__":
    app.run(debug=True)

Paso para ejecutar la aplicación: Ejecute la aplicación usando el siguiente comando.

python main.py

Salida: Abra el navegador y visite 127.0.0.1:5000/user/pulkit , verá la siguiente salida.

Publicación traducida automáticamente

Artículo escrito por pansaripulkit13 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *