Sat. Jul 27th, 2024

Conectando MySQL a una aplicación Flask: Ejemplo de CRUD (Tutorial en Python) con SEO

By admin Jan 30, 2024

En este tutorial, lo guiaremos sobre cómo instalar y usar MySQL con el marco Flask fácilmente.

El primer requisito es tener Python y Flask instalados en su sistema, como suponemos que ya los tiene, pasemos directamente a la instalación. flask-mysql paquete.

Si no, sigue este tutorial:

Instalar flask-mysql paquete

pip install flask-mysql

Importar flask-mysql

En su archivo de aplicación flask, importemos el paquete flask-mysql:

from flask import Flask
from flask_mysql import MySQL

aplicación.py

Ahora, podemos conectarnos a la base de datos MySQL usando lo siguiente, no olvide reemplazar los datos de conexión con los suyos.

app = Flask(__name__)
app.config['MYSQL_HOST'] = 'localhost' # Replace with your MySQL host
app.config['MYSQL_USER'] = 'username' # Replace with your MySQL username
app.config['MYSQL_PASSWORD'] = 'password' # Replace with your MySQL password
app.config['MYSQL_DB'] = 'database_name' # Replace with your MySQL database name

mysql = MySQL(app)

aplicación.py

Recuperar y mostrar datos de MySQL usando Flask

Ahora podemos comenzar a usar la base de datos, digamos que tiene una lista de usuarios en el users tabla, en el siguiente fragmento, recuperaremos todos los usuarios y representaremos su información en users.html.

from flask import Flask, render_template
from flask_mysql import MySQL

app = Flask(__name__)
app.config['MYSQL_HOST'] = 'localhost' # Replace with your MySQL host
app.config['MYSQL_USER'] = 'username' # Replace with your MySQL username
app.config['MYSQL_PASSWORD'] = 'password' # Replace with your MySQL password
app.config['MYSQL_DB'] = 'database_name' # Replace with your MySQL database name

mysql = MySQL(app)

@app.route('/users')
def get_users():
cursor = mysql.connection.cursor()
cursor.execute('SELECT * FROM users')
users = cursor.fetchall()
cursor.close()
return render_template('users.html', users=users)

if __name__ == '__main__':
app.run()

aplicación.py

El siguiente es el users.html plantilla, que representará los datos de get_users función.

<!DOCTYPE html>
<html>
<head>
<title>Users</title>
</head>
<body>
<h1>Users</h1>
<ul>
{% for user in users %}
<li>{{ user.name }}</li>
{% endfor %}
</ul>
</body>
</html>

usuarios.html

Crear e insertar registros en la base de datos

A continuación se explica cómo utilizar Flask para insertar un nuevo registro en el users tabla, utilizando un formulario HTML.

@app.route('/insert', methods=['POST'])
def insert_data():
name = request.form['name']
age = request.form['age']

cursor = mysql.connection.cursor()
query = f"INSERT INTO users (name, age) VALUES ('{name}', {age})"
cursor.execute(query)
mysql.connection.commit()

cursor.close()

return 'Data inserted successfully!'

<!DOCTYPE html>
<html>
<head>
<title>Insert Data</title>
</head>
<body>
<h1>Insert Data</h1>
<form method="POST" action="/insert">
<label for="name">Name:</label>
<input type="text" name="name" required>

<label for="age">Age:</label>
<input type="number" name="age" required>

<button type="submit">Submit</button>
</form>
</body>
</html>

insertar.html

Eliminar registros de una base de datos MySQL con Flask

@app.route('/delete/<int:id>')
def delete_data(id):
cursor = mysql.connection.cursor()
query = f"DELETE FROM table_name WHERE id = {id}"
cursor.execute(query)
mysql.connection.commit()
cursor.close()
return 'Data deleted successfully!'

Editar registros con base de datos MySQL con Flask

@app.route('/edit/<int:id>', methods=['GET', 'POST'])
def edit_data(id):
data = Data.query.get_or_404(id)
if request.method == 'POST':
data.name = request.form['name']
data.age = request.form['age']
db.session.commit()
return redirect('/')
return render_template('edit.html', data=data)

aplicación.py

<!DOCTYPE html>
<html>
<head>
<title>Edit Data</title>
</head>
<body>
<h1>Edit Data</h1>
<form method="POST">
<label for="name">Name:</label>
<input type="text" name="name" value="{{ data.name }}" required>

<label for="age">Age:</label>
<input type="number" name="age" value="{{ data.age }}" required>

<button type="submit">Save</button>
</form>
</body>
</html>

editar.html

Etiquetas

Tutorial de Flask Python mysql ¿Cómo?

By admin

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *