O Django continua sendo o framework web “com baterias incluídas” mais completo e confiável para colocar projetos reais no ar em tempo recorde. Com o Django 5.0, o framework trouxe evoluções marcantes que simplificam a vida do desenvolvedor.
Principais Novidades do Django 5.0
1. Generated Fields (Campos Gerados no Banco)
Agora você pode definir colunas calculadas diretamente no banco de dados através do ORM do Django:
from django.db import models
from django.db.models import F
class EventoUraPython(models.Model):
titulo = models.CharField(max_length=200)
vagas_totais = models.IntegerField(default=50)
vagas_preenchidas = models.IntegerField(default=0)
# Campo gerado automaticamente pelo banco de dados SQL
vagas_restantes = models.GeneratedField(
expression=F('vagas_totais') - F('vagas_preenchidas'),
output_field=models.IntegerField(),
db_persist=True
)
def __str__(self):
return f"{self.titulo} - Restam {self.vagas_restantes} vagas"
2. Renderização de Formulários com Templates Reutilizáveis
Ficou muito mais limpo formatar inputs de formulários sem depender de bibliotecas externas como crispy-forms.
<form method="post">
{% csrf_token %}
{{ form.as_div }}
<button type="submit" class="btn btn-primary">Inscrever-se</button>
</form>
Dicas de Performance para Produção
- Use
select_related()para chaves estrangeiras 1:1 e N:1. - Use
prefetch_related()para relacionamentos N:N. - Configure o Gunicorn ou Uvicorn atrás de um proxy reverso como Nginx ou Caddy.
- Utilize conexões persistentes com o PostgreSQL (
CONN_MAX_AGE).
Django é uma escolha excepcional para startups e grandes portais. Na UraPython, incentivamos projetos usando Django para acelerar a comunidade tech de Uberaba!