
📌 Creando una Aplicación Web con Flask para Registrar Usuarios en un Archivo de Texto
En este artículo, te mostraré cómo desarrollamos una aplicación web en Python utilizando Flask, con la capacidad de registrar usuarios a través de un formulario web y almacenar su información en un archivo de texto.
🔹 ¿Qué tecnologías usamos?
Para este proyecto utilizamos:
• Python: Como lenguaje de programación principal.
• Flask: Un framework ligero para crear aplicaciones web.
• HTML + Bootstrap: Para diseñar la interfaz del formulario de registro.
• OS (módulo de Python): Para manejar archivos y rutas en macOS.
🔹 Objetivo del Proyecto
El objetivo es crear una interfaz web donde los usuarios puedan registrarse ingresando su nombre, correo electrónico y contraseña. Al enviar el formulario, estos datos se guardarán en un archivo de texto (usuarios.txt) dentro de la carpeta python, ubicada en la carpeta Documentos del usuario.
🔹 Estructura del Proyecto
Nuestro proyecto tiene la siguiente estructura de archivos:
PYTHON/
├── .venv/ # Entorno virtual de Python (opcional)
├── templates/ # Carpeta de plantillas HTML
│ ├── index.html # Página con el formulario de registro
├── archivo.py # Código principal de la aplicación Flask
├── usuarios.txt # Archivo donde se guardan los registros
🔹 Creación del Servidor Flask
El corazón de nuestro proyecto es Flask, que se encarga de manejar las peticiones web y procesar los datos. Aquí está el código principal en archivo.py:
📌 Código archivo.py
from flask import Flask, render_template, request
import os
app = Flask(__name__)
# Ruta donde se guardará el archivo en "Documentos/python"
documents_path = os.path.join(os.path.expanduser("~"), "Documents")
folder_path = os.path.join(documents_path, "python")
file_path = os.path.join(folder_path, "usuarios.txt")
# Crear la carpeta si no existe
if not os.path.exists(folder_path):
os.makedirs(folder_path)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/registrar', methods=['POST'])
def registrar():
nombre = request.form['nombre']
email = request.form['email']
password = request.form['password']
# Guardar en el archivo de texto
with open(file_path, "a", encoding="utf-8") as file:
file.write(f"Nombre: {nombre}, Email: {email}, Contraseña: {password}\n")
return "Usuario registrado con éxito. <a href='/'>Volver</a>"
if __name__ == '__main__':
app.run(debug=True)
🔹 Explicación del código:
1. Se inicializa Flask y se define la carpeta donde se guardarán los datos (Documentos/python).
2. Si la carpeta no existe, la crea automáticamente.
3. / carga la página principal (index.html) donde está el formulario de registro.
4. /registrar procesa los datos enviados y los almacena en usuarios.txt.
5. Flask ejecuta el servidor local en http://127.0.0.1:5000/.
🔹 Creación del Formulario Web
Para la interfaz de usuario, creamos un archivo index.html dentro de la carpeta templates/, donde diseñamos un formulario con Bootstrap.
📌 Código templates/index.html
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Registro de Usuarios</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body class="bg-light">
<div class="container mt-5">
<h2 class="text-center">Registro de Usuarios</h2>
<form action="/registrar" method="POST" class="card p-4 shadow">
<div class="mb-3">
<label for="nombre" class="form-label">Nombre</label>
<input type="text" class="form-control" id="nombre" name="nombre" required>
</div>
<div class="mb-3">
<label for="email" class="form-label">Correo Electrónico</label>
<input type="email" class="form-control" id="email" name="email" required>
</div>
<div class="mb-3">
<label for="password" class="form-label">Contraseña</label>
<input type="password" class="form-control" id="password" name="password" required>
</div>
<button type="submit" class="btn btn-primary">Registrar</button>
</form>
</div>
</body>
</html>
🔹 Explicación del código:
1. Se usa Bootstrap para darle estilo al formulario.
2. El formulario envía los datos a /registrar mediante POST.
3. Cada campo (nombre, email, password) está correctamente etiquetado.
🔹 Cómo ejecutar la aplicación
1️⃣ Instalar Flask
Si no lo tienes instalado, abre la terminal y ejecuta:
pip install flask
2️⃣ Ejecutar el servidor Flask
Desde la terminal en la carpeta del proyecto, corre:
python archivo.py
Si todo está bien, verás algo como:
* Running on http://127.0.0.1:5000/
3️⃣ Abrir en el navegador
Ve a 👉 http://127.0.0.1:5000/ y prueba el formulario.
🔹 ¿Qué sucede al registrar un usuario?
Cada vez que un usuario se registra, sus datos se guardan en el archivo usuarios.txt, que se encuentra en:
/Users/tu_usuario/Documents/python/usuarios.txt
Ejemplo de contenido guardado en usuarios.txt:
Nombre: Juan Pérez, Email: juan@example.com, Contraseña: 12345
Nombre: María Gómez, Email: maria@example.com, Contraseña: password123
No hay comentarios