Desarrollo de Aplicaciones Web con bottle en Python
Introducción
Python es un lenguaje de programación de alto nivel, interpretado, de propósito general, multiparadigma, cuya filosofía enfatiza la legibilidad del código con un código conciso y expresivo. Es un lenguaje de programación de código abierto, cuya licencia es la Python Software Foundation License.
Bottle es un microframework web para Python que es simple de usar y ligero. Es una buena opción para el desarrollo de aplicaciones web pequeñas y medianas.
En este tutorial, aprenderemos a desarrollar aplicaciones web con bottle en Python.
Requisitos previos
Para seguir este tutorial, necesitarás los siguientes requisitos previos:
- Un editor de texto o IDE
- Python 3.7 o superior
Instalación de bottle
Para instalar bottle, abre una terminal y ejecuta el siguiente comando:
pip install bottle
Creando una aplicación web simple
Para crear una aplicación web simple con bottle, crea un nuevo archivo llamado app.py
y agrega el siguiente código:
from bottle import route, run
@route('/')
def index():
return 'Hola, mundo!'
run(host='localhost', port=8080)
Este código define una ruta para la URL /
que devuelve la cadena «Hola, mundo!».
Para ejecutar la aplicación, ejecuta el siguiente comando:
python app.py
Esto abrirá una aplicación web en tu navegador en la dirección http://localhost:8080
.
Creando rutas adicionales
Podemos crear rutas adicionales para diferentes recursos web. Por ejemplo, podemos crear una ruta para una página de contacto:
@route('/contacto')
def contacto():
return 'Esta es la página de contacto.'
Esta ruta devuelve la cadena «Esta es la página de contacto.».
También podemos crear rutas para recursos dinámicos. Por ejemplo, podemos crear una ruta para una página de blog que muestre un artículo específico:
@route('/blog/<id>')
def blog(id):
return 'Este es el artículo #{}.'.format(id)
Esta ruta devuelve la cadena «Este es el artículo #{}.».
Manejando solicitudes HTTP
Podemos usar bottle para manejar diferentes tipos de solicitudes HTTP. Por ejemplo, podemos usar la función get
para manejar solicitudes GET
:
@route('/saludo')
def saludo():
return 'Hola, {}!'.format(request.query.get('nombre'))
Esta ruta devuelve la cadena «Hola, {}!», donde {}
será reemplazado por el valor del parámetro nombre
en la solicitud GET
.
También podemos usar la función post
para manejar solicitudes POST
:
@route('/registro', method='POST')
def registro():
nombre = request.forms.get('nombre')
correo = request.forms.get('correo')
return 'El usuario {} se ha registrado con el correo electrónico {}.'.format(nombre, correo)
Esta ruta devuelve la cadena «El usuario {} se ha registrado con el correo electrónico {}.».
Creando plantillas
Podemos usar plantillas HTML para generar contenido dinámico en nuestras aplicaciones web. Para usar plantillas con bottle, importamos el módulo jinja2
y lo agregamos a la configuración de nuestra aplicación:
from bottle import route, run, template
app = Bottle()
app.config['TEMPLATE_PATH'] = './templates'
Luego, podemos crear una plantilla HTML:
<!DOCTYPE html>
<html lang="es">
<head>
<title>Mi aplicación web</title>
</head>
<body>
<h1>Hola, mundo!</h1>
</body>
</html>
Y usarla en nuestra aplicación:
@route('/')
def index():
return template('index.html')
Conclusión
En este tutorial, aprendimos a desarrollar aplicaciones web con bottle en Python.
Bottle es un microframework web simple y ligero que es una buena opción para el desarrollo de aplicaciones web pequeñas y medianas.
Para obtener más información sobre bottle, consulta la documentación oficial: https://bottlepy.org/