Cómo crear una aplicación web usando Flask en Python 3
Flask es un framework web ligero y flexible para Python que permite construir aplicaciones web de manera rápida y sencilla. Se enfoca en la simplicidad y la modularidad, lo que lo hace fácil de aprender y utilizar para proyectos pequeños y grandes. No requiere de herramientas o bibliotecas adicionales, lo que significa que puedes comenzar a construir tu aplicación web con solo unas pocas líneas de código.
A continuación te proporcionamos un manual detallado para crear una aplicación web usando Flask en Python 3:
1. Preparación del entorno de desarrollo
Antes de comenzar a escribir código para la aplicación web, es importante tener un entorno de desarrollo adecuado. Asegúrate de tener Python 3.x
y pip
(el administrador de paquetes de Python) instalados en tu sistema. Luego, sigue los siguientes pasos:
-
Crea un nuevo directorio para la aplicación web en tu sistema.
-
Abre una terminal o consola de comandos en el directorio recién creado.
-
Crea un entorno virtual de Python utilizando el comando python3 -m venv venv
en la terminal.
-
Activa el entorno virtual con el comando source venv/bin/activate
en sistemas UNIX o venv\Scripts\activate
en sistemas Windows.
-
Instala Flask con el comando pip install flask
.
2. Creación de la aplicación web
Ahora que has preparado el entorno de desarrollo, puedes comenzar a escribir el código para la aplicación web. Sigue los siguientes pasos:
-
Crea un archivo app.py
en el directorio de la aplicación web.
-
Importa Flask y crea una instancia de la aplicación web. Puedes hacerlo de la siguiente manera:
file app.py
from flask import Flask
app = Flask(__name__)
- Crea una ruta básica que muestre un mensaje de bienvenida. Puedes hacerlo de la siguiente manera:
file app.py
@app.route('/')
def index():
return '¡Bienvenido a mi aplicación web!'
- Agrega una condición
if __name__ == '__main__':
al final del archivo para asegurarte de que la aplicación web solo se ejecute, si se ejecuta el archivo directamente y no si se importa a otro archivo. Puedes hacerlo de la siguiente manera:
file app.py
if __name__ == '__main__':
app.run()
- Guarda el archivo y ciérralo.
3. Ejecución de la aplicación web
Para ejecutar la aplicación web, sigue los siguientes pasos:
-
Abre una terminal o consola de comandos en el directorio de la aplicación web.
-
Activa el entorno virtual con el comando source venv/bin/activate
en sistemas UNIX o venv\Scripts\activate
en sistemas Windows.
-
Ejecuta la aplicación web con el comando python app.py
.
-
Abre un navegador web y visita http://localhost:5000/. Deberías ver el mensaje de bienvenida que agregaste anteriormente.
4. Agregar más funcionalidad a la aplicación web
Ahora que has creado una aplicación web básica, puedes comenzar a agregar más funcionalidad a ella. Puedes hacerlo agregando más rutas y funciones en el archivo app.py
. Por ejemplo, puedes agregar una ruta para mostrar una página de contacto y una función que procese un formulario de contacto. Puedes hacerlo de la siguiente manera:
file app.py
@app.route('/contacto')
def contacto():
return 'Página de contacto'
@app.route('/enviar', methods=['POST'])
def enviar():
nombre = request.form['nombre']
email = request.form['email']
mensaje = request.form['mensaje']
# Procesar el formulario y enviar el correo electrónico
return 'Mensaje enviado correctamente'
En el ejemplo anterior, la ruta /contacto
muestra una página de contacto y la ruta /enviar
procesa un formulario enviado por el usuario utilizando el método HTTP POST.
Para procesar el formulario, se utiliza el objeto request
que viene con Flask. La información enviada por el usuario se puede obtener del objeto request.form
que es un diccionario que contiene los datos del formulario. En este ejemplo, se obtienen los valores de nombre
, email
y mensaje
del formulario.
Luego, se procesa el formulario y se envía un mensaje de confirmación al usuario.
5. Uso de plantillas
Cuando se construyen aplicaciones web más complejas, puede ser útil utilizar plantillas para crear el contenido HTML de las páginas. Flask utiliza el motor de plantillas Jinja2 para hacer esto.
Para usar plantillas en tu aplicación web, sigue los siguientes pasos:
-
Crea una carpeta templates
en el directorio de la aplicación web.
-
Crea un archivo de plantilla llamado base.html
en la carpeta templates
. Este archivo contendrá la estructura básica de todas las páginas de tu sitio web.
file base.html
<!doctype html>
<html>
<head>
<title>{% block title %}{% endblock %}</title>
</head>
<body>
{% block content %}
{% endblock %}
</body>
</html>
- Crea un archivo de plantilla llamado
contacto.html
en la carpeta templates
. Este archivo contendrá el contenido específico de la página de contacto.
file contacto.html
{% extends 'base.html' %}
{% block title %}Contacto{% endblock %}
{% block content %}
Contacto