Desarrollo de Aplicaciones Web con bottle en Python

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:

Python
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:

Python
@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:

Python
@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:

Python
@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:

Python
@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:

Python
from bottle import route, run, template

app = Bottle()
app.config['TEMPLATE_PATH'] = './templates'

Luego, podemos crear una plantilla HTML:

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:

Python
@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/