Compliance com o https://www.gov.br/ds/home
Project description
Django DSGovBR
Pacote Django para integração com o Design System do Governo Federal Brasileiro (DS Gov.BR).
📋 Sobre
O django-dsgovbr facilita a implementação do Design System oficial do Governo Federal em projetos Django, inclusive no Django Admin, garantindo conformidade visual e de usabilidade com os padrões estabelecidos pelo gov.br.
🎨 Design System Gov.BR
O DS Gov.BR é o design system oficial do Governo Federal Brasileiro, criado para padronizar a experiência do usuário em todos os portais e sistemas governamentais.
Links Oficiais:
✨ Recursos Visuais do DS Gov.BR
O Design System inclui:
Componentes Principais
- Formulários: Inputs, selects, checkboxes, radio buttons estilizados
- Botões: Primários, secundários, terciários com estados hover/active/disabled
- Mensagens: Alertas, notificações e mensagens de sistema
- Navegação: Headers, breadcrumbs, menus e abas
- Tabelas: Grades de dados responsivas e acessíveis
- Cards: Cartões informativos e de conteúdo
- Modal: Diálogos e janelas modais
- Paginação: Controles de navegação entre páginas
Características Visuais
- 🎨 Paleta de Cores Oficial: Azul Gov.BR (#071D41), cores de status e feedbacks
- 📱 Design Responsivo: Mobile-first, adaptável a todos os dispositivos
- ♿ Acessibilidade: WCAG 2.1 nível AA, suporte a leitores de tela
- 🔤 Tipografia Rawline: Fonte oficial do governo federal
- 📐 Grid System: Sistema de grid consistente (12 colunas)
- 🖼️ Ícones: Biblioteca Font Awesome com ícones customizados
Visual do DS Gov.BR
┌─────────────────────────────────────────────┐
│ 🏛️ GOVERNO FEDERAL │
│ ═══════════════════════════════════ │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ 🔵 Botão Primário │ │
│ └─────────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────────┐ │
│ │ ⚪ Botão Secundário │ │
│ └─────────────────────────────────────┘ │
│ │
│ ℹ️ Mensagem Informativa │
│ ✓ Mensagem de Sucesso │
│ ⚠️ Mensagem de Aviso │
│ ✕ Mensagem de Erro │
│ │
└─────────────────────────────────────────────┘
Nota: Para capturas de tela reais dos componentes, visite a página de componentes oficial do DS Gov.BR.
🚀 Instalação
Via PyPI (Recomendado)
pip install django-dsgovbr
⚙️ Configuração
1. Adicione ao INSTALLED_APPS
# settings.py
INSTALLED_APPS = [
# ... outras apps
'dsgovbr',
# ... suas apps
]
2. Configure os Context Processors (Opcional)
# settings.py
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
# ... outros context processors
'dsgovbr.context_processors.dsgovbr',
],
},
},
]
3. Colete os Arquivos Estáticos
python manage.py collectstatic
📖 Uso
Templates Base
Use os templates base do DSGovBR nos seus templates Django:
{% extends "admin/base.html" %}
{% load static %}
{% block title %}Minha Página Gov.BR{% endblock %}
{% block content %}
<div class="br-container">
<h1>Bem-vindo ao Sistema</h1>
<!-- Botão Primário -->
<button class="br-button primary" type="button">
Ação Principal
</button>
<!-- Mensagem de Sucesso -->
<div class="br-message success">
<div class="icon">
<i class="fas fa-check-circle"></i>
</div>
<div class="content">
Operação realizada com sucesso!
</div>
</div>
<!-- Card -->
<div class="br-card">
<div class="card-header">
<h3>Título do Card</h3>
</div>
<div class="card-content">
<p>Conteúdo do card seguindo o padrão Gov.BR</p>
</div>
</div>
</div>
{% endblock %}
Formulários Django
Os formulários Django automaticamente usam os estilos do DS Gov.BR:
# forms.py
from django import forms
class MeuFormulario(forms.Form):
nome = forms.CharField(
label="Nome Completo",
max_length=100,
widget=forms.TextInput(attrs={
'class': 'br-input',
'placeholder': 'Digite seu nome'
})
)
email = forms.EmailField(
label="E-mail",
widget=forms.EmailInput(attrs={
'class': 'br-input',
'placeholder': 'seuemail@exemplo.gov.br'
})
)
mensagem = forms.CharField(
label="Mensagem",
widget=forms.Textarea(attrs={
'class': 'br-textarea',
'rows': 5
})
)
Admin do Django
O pacote fornece templates customizados para o Django Admin com visual Gov.BR:
# admin.py
from django.contrib import admin
from .models import MeuModelo
@admin.register(MeuModelo)
class MeuModeloAdmin(admin.ModelAdmin):
list_display = ['nome', 'status', 'data_criacao']
list_filter = ['status']
search_fields = ['nome']
🎨 Componentes Disponíveis
Classes CSS Principais
<!-- Botões -->
<button class="br-button primary">Primário</button>
<button class="br-button secondary">Secundário</button>
<button class="br-button tertiary">Terciário</button>
<!-- Mensagens -->
<div class="br-message info">Informação</div>
<div class="br-message success">Sucesso</div>
<div class="br-message warning">Aviso</div>
<div class="br-message error">Erro</div>
<!-- Cards -->
<div class="br-card">
<div class="card-header">Cabeçalho</div>
<div class="card-content">Conteúdo</div>
<div class="card-footer">Rodapé</div>
</div>
<!-- Inputs -->
<input type="text" class="br-input" placeholder="Digite aqui...">
<textarea class="br-textarea"></textarea>
<select class="br-select">
<option>Opção 1</option>
</select>
🔧 Desenvolvimento
Requisitos
- Python 3.10+
- Django 5.2+
Setup para Desenvolvimento
# Clone o repositório
git clone https://github.com/kelsoncm/django-dsgovbr.git
cd django-dsgovbr
# Crie um ambiente virtual
python -m venv venv
source venv/bin/activate # Linux/Mac
# ou
venv\Scripts\activate # Windows
# Instale as dependências de desenvolvimento
pip install -e ".[dev]"
# Execute os testes
python -m pytest
📝 Licença
Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.
👥 Contribuindo
Contribuições são bem-vindas! Por favor:
- Faça um Fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/MinhaFeature) - Commit suas mudanças (
git commit -m 'Adiciona MinhaFeature') - Push para a branch (
git push origin feature/MinhaFeature) - Abra um Pull Request
📧 Contato
Kelson da Costa Medeiros
- Email: kelsoncm@gmail.com
- GitHub: @kelsoncm
🔗 Links Úteis
- Design System Gov.BR - Site Oficial
- DS Gov.BR - Componentes
- DS Gov.BR - GitHub
- Documentação Django
- Acessibilidade Gov.BR
📊 Status do Projeto
- ✅ Integração básica com Django Admin
- ✅ Templates base Gov.BR
- ✅ Componentes CSS principais
- ✅ Suporte a formulários Django
- 🔄 Em desenvolvimento: Widgets customizados
- 📋 Planejado: Componentes JavaScript interativos
🚀 Próximos Passos
Planejamos adicionar nas próximas versões:
- Widgets customizados para formulários
- Componentes JavaScript interativos
- Mais templates de exemplo
- Suporte a temas customizados
- Documentação expandida
🙏 Agradecimentos
Agradecemos à equipe do Design System Gov.BR por criar e manter o design system oficial do governo federal brasileiro.
📧 Feedback
Encontrou algum problema ou tem sugestões? Abra uma issue ou contribua com um pull request!
Desenvolvido com ❤️ para o ecossistema Gov.BR
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file django_dsgovbr-5.2.4.tar.gz.
File metadata
- Download URL: django_dsgovbr-5.2.4.tar.gz
- Upload date:
- Size: 384.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b1a99a36446fd3c2fa7e2c94ab55b57e5b8bf47a99fd79f53a96a210aea8c46
|
|
| MD5 |
1acf2cfee81c515be41712d07f1ba503
|
|
| BLAKE2b-256 |
6c24f1dada9b591318d3a0e2285436536ca8e9802a5b6f8f88b951cffcd40272
|
Provenance
The following attestation bundles were made for django_dsgovbr-5.2.4.tar.gz:
Publisher:
publish-to-pypi.yml on kelsoncm/django-dsgovbr
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
django_dsgovbr-5.2.4.tar.gz -
Subject digest:
0b1a99a36446fd3c2fa7e2c94ab55b57e5b8bf47a99fd79f53a96a210aea8c46 - Sigstore transparency entry: 1245028363
- Sigstore integration time:
-
Permalink:
kelsoncm/django-dsgovbr@fe72c86910030fe1c5ac075f4fea8be978bf258f -
Branch / Tag:
refs/tags/5.2.4 - Owner: https://github.com/kelsoncm
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@fe72c86910030fe1c5ac075f4fea8be978bf258f -
Trigger Event:
release
-
Statement type:
File details
Details for the file django_dsgovbr-5.2.4-py3-none-any.whl.
File metadata
- Download URL: django_dsgovbr-5.2.4-py3-none-any.whl
- Upload date:
- Size: 415.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
483ea725529abb43bbcd8dea5a2d8a7d2671d270b48999ad675844bea2bfea7e
|
|
| MD5 |
67b9f5f5c12572dfe9c22bf7e7bbad12
|
|
| BLAKE2b-256 |
ebcac1a52c6637cf76c8c79fa8b57d5e85588c2df2f4b91471ba38c3e405f31e
|
Provenance
The following attestation bundles were made for django_dsgovbr-5.2.4-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on kelsoncm/django-dsgovbr
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
django_dsgovbr-5.2.4-py3-none-any.whl -
Subject digest:
483ea725529abb43bbcd8dea5a2d8a7d2671d270b48999ad675844bea2bfea7e - Sigstore transparency entry: 1245028412
- Sigstore integration time:
-
Permalink:
kelsoncm/django-dsgovbr@fe72c86910030fe1c5ac075f4fea8be978bf258f -
Branch / Tag:
refs/tags/5.2.4 - Owner: https://github.com/kelsoncm
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@fe72c86910030fe1c5ac075f4fea8be978bf258f -
Trigger Event:
release
-
Statement type: