Python para Web – Parte 5: Conectando Flask a um Banco de Dados 💾🔗

Criar uma API ou uma aplicação web é incrível, mas sem um banco de dados, as informações desaparecem quando o servidor é desligado. 😬

Nesta parte do tutorial, vamos aprender a armazenar dados usando Flask e um banco de dados SQL.

Vamos lá? 💡


🗄️ Escolhendo um Banco de Dados para Flask

O Flask permite conectar vários bancos de dados. Os mais comuns são:

SQLite – Leve e fácil de usar, ideal para pequenos projetos.
PostgreSQL – Poderoso e usado em aplicações grandes.
MySQL – Popular e muito utilizado em projetos web.

Neste tutorial, vamos começar com o SQLite, pois já vem embutido no Python.


📌 Criando um Banco de Dados SQLite no Flask

Instale a biblioteca SQLAlchemy, que facilita o uso de bancos de dados no Flask:

pip install flask-sqlalchemy

Agora, crie um arquivo app.py e adicione:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)

# Configuração do banco de dados
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///meubanco.db"
db = SQLAlchemy(app)

# Criando um modelo de tabela
class Usuario(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    nome = db.Column(db.String(100), nullable=False)
    email = db.Column(db.String(100), unique=True, nullable=False)

# Criando o banco de dados
with app.app_context():
    db.create_all()

print("Banco de dados criado com sucesso! 🚀")

Execute o script:

python app.py

Isso criará um arquivo chamado meubanco.db, onde os dados serão armazenados.


📝 Adicionando e Buscando Dados no Banco

Agora, vamos inserir e buscar usuários no banco!

👤 Adicionando um usuário

@app.route("/add/<nome>/<email>")
def add_usuario(nome, email):
    novo_usuario = Usuario(nome=nome, email=email)
    db.session.add(novo_usuario)
    db.session.commit()
    return f"Usuário {nome} adicionado com sucesso!"

Acesse no navegador:
http://127.0.0.1:5000/add/Alice/alice@email.com

Isso adicionará Alice ao banco. 🎉


🔍 Listando todos os usuários

@app.route("/usuarios")
def listar_usuarios():
    usuarios = Usuario.query.all()
    lista = [{"id": u.id, "nome": u.nome, "email": u.email} for u in usuarios]
    return {"usuarios": lista}

Agora, acesse http://127.0.0.1:5000/usuarios para ver todos os usuários cadastrados!


🛠️ Atualizando e Deletando Usuários

Além de adicionar e listar, podemos atualizar e deletar dados.

✏️ Atualizando um usuário

@app.route("/update/<int:id>/<novo_nome>")
def atualizar_usuario(id, novo_nome):
    usuario = Usuario.query.get(id)
    if usuario:
        usuario.nome = novo_nome
        db.session.commit()
        return f"Nome do usuário {id} atualizado para {novo_nome}!"
    return "Usuário não encontrado", 404

Acesse:
http://127.0.0.1:5000/update/1/Roberto

Isso altera o nome do usuário com ID 1.


🗑️ Deletando um usuário

@app.route("/delete/<int:id>")
def deletar_usuario(id):
    usuario = Usuario.query.get(id)
    if usuario:
        db.session.delete(usuario)
        db.session.commit()
        return f"Usuário {id} deletado!"
    return "Usuário não encontrado", 404

Acesse:
http://127.0.0.1:5000/delete/1

Isso remove o usuário com ID 1 do banco de dados.


🔗 Conclusão: Seu Flask agora tem Memória!

Agora você sabe como:

✅ Criar um banco de dados SQLite no Flask
✅ Adicionar, buscar, atualizar e deletar dados
✅ Criar APIs que interagem com o banco de dados

💡 Próximo passo: Na Parte 6, vamos conectar o Flask a um banco de dados PostgreSQL e explorar autenticação com Flask-Login!


📚 Referências úteis:

Se gostou, curta e compartilhe! Isso ajuda mais pessoas a aprenderem Python! 🚀🐍


(Visited 3 times, 1 visits today)