Introdução
Neste tutorial, abordaremos a construção de uma aplicação web de gerenciamento de anéis de formatura utilizando os frameworks Django e Flask, duas das ferramentas mais populares para desenvolvimento web em Python. Essa aplicação permitirá que os usuários personalizem seus anéis e façam compras online. Primeiro, iremos configurar um ambiente Django para gerenciar os dados e a lógica de negócio, antes de integrar uma API com Flask para gerenciar personalizações e facilitar as vendas. O guia é projetado para desenvolvedores com conhecimentos básicos em Python que desejam explorar como frameworks diferentes podem ser utilizados em conjunto para criar aplicativos completos e escaláveis.
Etapas
Configuração do Ambiente de Desenvolvimento
Para começar, certifique-se que você tem o Python instalado em seu sistema. Você pode confirmar usando o comando ‘python –version’. Em seguida, instale o Django e o Flask usando pip. Crie um ambiente virtual para organizar suas dependências.
commands# Verificar Python instalado
python --version
# Criar um ambiente virtual
python -m venv env
# Ativar ambiente virtual (Windows)
env\Scripts\activate
# Ativar ambiente virtual (Linux/Mac)
source env/bin/activate
# Instalar Django e Flask
pip install django flaskCriação do Projeto Django
Crie um novo projeto Django utilizando o comando ‘django-admin startproject’. Em seguida, crie um aplicativo dentro do projeto para gerenciar os anéis.
commands# Criar novo projeto Django
django-admin startproject ring_management
# Navegar para o diretório do projeto
cd ring_management
# Criar aplicativo para gerenciamento de anéis
python manage.py startapp ringsDefinindo o Modelo de Dados
No aplicativo ‘rings’, defina o modelo de dados representando o Anel. Isso incluirá campos como nome, descrição e preço. Como nosso sistema tem um foco em personalização, adicionaremos um campo para URL da imagem.
Rings/models.pyfrom django.db import models class Ring(models.Model): name = models.CharField(max_length=255) description = models.TextField() price = models.DecimalField(max_digits=10, decimal_places=2) image_url = models.URLField() def __str__(self): return self.name
Configuração do Banco de Dados
Abra o arquivo settings.py do seu projeto e configure o banco de dados que você vai usar. Para este exemplo, use o SQLite, que é muito simples e pode ser feito apenas salvando os dados em um arquivo.
settings.py# Definindo a configuração do banco de dados DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'db.sqlite3', } }
Executando as Migrações
Após definir seus modelos, você deve criar as tabelas do banco de dados. Use os comandos abaixo para criar as migrações e aplicá-las ao banco de dados.
commands# Criar migrações do modelo
python manage.py makemigrations
# Aplicar migrações
python manage.py migrateConfigurando as URLs do Django
Defina as URLs para o aplicativo Django no arquivo urls.py. Vamos criar endereços para listar todos os anéis, mostrar informações de um anel específico e permitir a criação de novos anéis.
Rings/urls.pyfrom django.urls import path from .views import RingList, RingDetail urlpatterns = [ path('', RingList.as_view(), name='ring-list'), path('<int:pk>/', RingDetail.as_view(), name='ring-detail'), ]
Implementação das Views no Django
Implemente as views para os anéis em ‘views.py’. Utilizaremos as classes base de ListView e DetailView para listar e detalhar os produtos.
Rings/views.pyfrom django.views.generic import ListView, DetailView from .models import Ring class RingList(ListView): model = Ring template_name = 'ring_list.html' class RingDetail(DetailView): model = Ring template_name = 'ring_detail.html'
Construindo a API com Flask
Crie uma nova aplicação Flask para gerenciar as personalizações dos anéis. Utilize o Flask para construir rotas que permitirão alterar ou adicionar informações sobre anéis de formatura.
Flask/app.pyfrom flask import Flask, request, jsonify from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///rings.db' db = SQLAlchemy(app) class Ring(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(255), nullable=False) description = db.Column(db.Text, nullable=False) image_url = db.Column(db.String(255), nullable=False) @app.route('/rings', methods=['POST']) def add_ring(): data = request.get_json() new_ring = Ring(name=data['name'], description=data['description'], image_url=data['image_url']) db.session.add(new_ring) db.session.commit() return jsonify({'message': 'Anel adicionado com sucesso'}), 201 if __name__ == '__main__': db.create_all() app.run(debug=True
Testes e Verificação da Aplicação
Teste a sua aplicação Django acessando as URLs definidas em um navegador para verificar se a listagem e os detalhes estão funcionando. Use ferramentas como Postman para testar as requisições à sua API Flask.
commands# Executar o servidor Django
python manage.py runserver
# Executar o servidor Flask
python Flask/app.py
Conclusão
Neste tutorial, você aprendeu como construir uma aplicação web para gerenciar anéis de formatura utilizando Django para a parte de backend e Flask para a API de personalização. Cada framework possui suas peculiaridades e é importante entender como integrá-los para obter uma aplicação completa e funcional. Agora você pode expandir essa aplicação adicionando autenticação, mais funcionalidades e melhorando a interface do usuário com front-ends modernos como React ou Vue.js.