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