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! 🚀🐍