gener una pagina nueva con accsoa base detos
Aquí te muestro un ejemplo básico de una página web con acceso a base de datos utilizando Python y el framework Flask. **Requisitos previos** * Instalar Flask: `pip install flask` * Instalar Flask-SQLAlchemy: `pip install flask-sqlalchemy` * Instalar SQLite (o cualquier otro motor de base de datos que desees utilizar) **Estructura del proyecto** * `app.py`: archivo principal de la aplicación * `models.py`: archivo que define las entidades de la base de datos * `templates`: carpeta que contiene los archivos HTML de la aplicación * `static`: carpeta que contiene los archivos estáticos de la aplicación (CSS, JavaScript, imágenes, etc.) **app.py** ```python from flask import Flask, render_template, request, redirect, url_for from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///mi_base_de_datos.db' db = SQLAlchemy(app) from models import User @app.route('/') def index(): users = User.query.all() return render_template('index.html', users=users) @app.route('/crear_usuario', methods=['GET', 'POST']) def crear_usuario(): if request.method == 'POST': nombre = request.form['nombre'] email = request.form['email'] user = User(nombre=nombre, email=email) db.session.add(user) db.session.commit() return redirect(url_for('index')) return render_template('crear_usuario.html') @app.route('/eliminar_usuario/<int:id>') def eliminar_usuario(id): user = User.query.get(id) if user: db.session.delete(user) db.session.commit() return redirect(url_for('index')) if __name__ == '__main__': app.run(debug=True) ``` **models.py** ```python from app import db class User(db.Model): id = db.Column(db.Integer, primary_key=True) nombre = db.Column(db.String(100), nullable=False) email = db.Column(db.String(100), nullable=False, unique=True) def __repr__(self): return f'User({self.nombre}, {self.email})' ``` **templates/index.html** ```html <!DOCTYPE html> <html> <head> <title>Usuarios</title> </head> <body> <h1>Usuarios</h1> <ul> {% for user in users %} <li>{{ user.nombre }} ({{ user.email }})</li> {% endfor %} </ul> <p><a href="{{ url_for('crear_usuario') }}">Crear usuario</a></p> </body> </html> ``` **templates/crear_usuario.html** ```html <!DOCTYPE html> <html> <head> <title>Crear usuario</title> </head> <body> <h1>Crear usuario</h1> <form method="POST"> <label for="nombre">Nombre:</label> <input type="text" id="nombre" name="nombre"><br><br> <label for="email">Email:</label> <input type="email" id="email" name="email"><br><br> <input type="submit" value="Crear usuario"> </form> </body> </html> ``` **static/css/style.css** (opcional) ```css body { font-family: Arial, sans-serif; } h1 { color: #00698f; } ul { list-style: none; padding: 0; margin: 0; } li { padding: 10px; border-bottom: 1px solid #ccc; } li:last-child { border-bottom: none; } a { text-decoration: none; color: #00698f; } a:hover { color: #004d5b; } ``` **static/js/script.js** (opcional) ```javascript // Agregar eventos de JavaScript aquí ``` **Ejecutar la aplicación** 1. Abrir un terminal y navegar hasta la carpeta del proyecto. 2. Ejecutar `python app.py` para iniciar la aplicación. 3. Abrir un navegador y acceder a `http://localhost:5000` para ver la página de inicio. Recuerda que esta es una implementación básica y puedes agregar más funcionalidades y características según tus necesidades.