Biblioteca Django para integração com o GovBR Design System.
Template base completo com header, menu lateral, breadcrumb, footer e autenticação integrada, seguindo o padrão oficial do governo federal.
- Python 3.10+
- Django 4.2+
pip install django-govbr-theme1. Adicionar ao INSTALLED_APPS:
# settings.py
INSTALLED_APPS = [
    # ...
    'django_govbr_theme',
]2. Adicionar context processors:
# settings.py
TEMPLATES = [{
    'OPTIONS': {
        'context_processors': [
            # ... outros
            'django_govbr_theme.context_processors.govbr_context',
            'django_govbr_theme.context_processors.govbr_menu',
        ],
    },
}]3. Coletar arquivos estáticos:
python manage.py collectstaticNota: Os assets do GovBR DS já estão incluídos na biblioteca! O comando
install_govbr_assetsé opcional e só deve ser usado se você quiser atualizar manualmente para uma versão mais recente do GovBR Design System.
4. Configurar portal:
# settings.py
GOVBR_PORTAL_NAME = "Meu Portal"
GOVBR_MENU_ITEMS = [
    {'label': 'Início', 'url': '/', 'icon': 'fas fa-home'},
]{% extends "govbr/base.html" %}
{% block title %}Minha Página{% endblock %}
{% block content %}
    <h1>Conteúdo da página</h1>
{% endblock %}Pronto! Sua aplicação agora usa o template GovBR DS.
Para configurações avançadas, componentes disponíveis e exemplos completos:
- 📖 Guia de Componentes - Como usar header, menu, breadcrumb, footer, etc.
- ⚙️ Instalação Detalhada - Configurações avançadas
- 🎨 Guia de Uso - Templates e blocos disponíveis
- 📝 Changelog - Histórico de versões
- ✅ Template base completo (header, menu, breadcrumb, footer)
- ✅ Componentes modulares via template tags
- ✅ Avatar/Login automático para usuários autenticados
- ✅ Integração com Django messages
- ✅ Menu lateral com suporte a itens aninhados
- ✅ Footer multi-coluna configurável com redes sociais
- ✅ Layout configurável (largura fixa ou fluida)
- ✅ Breadcrumb dinâmico
- ✅ Skip links para acessibilidade
- ✅ Suporte a Django 4.2 LTS, 5.0 e 5.1
- ✅ Suporte a Python 3.10 - 3.13
# 1. Clonar repositório
git clone https://github.com/ivanjun10r/django_govbr_theme.git
cd django-govbr-theme
# 2. Criar ambiente virtual (recomendado: pyenv)
pyenv virtualenv 3.12 govbr_theme_env
pyenv activate govbr_theme_env
# 3. Instalar dependências em modo desenvolvimento
pip install -e '.[test,dev]'
# 4. Instalar pre-commit hooks
pre-commit install
# 5. Instalar assets do GovBR DS
npm install# Todos os testes
tox
# Apenas testes unitários
pytest
# Com cobertura
pytest --cov=django_govbr_theme
# Linting
ruff check .
ruff format --check .cd example_project
python manage.py runserver
# Acesse: http://localhost:8000django-govbr-theme/
├── src/django_govbr_theme/     # Código da biblioteca
│   ├── templates/              # Templates base e componentes
│   ├── static/                 # Assets do GovBR DS (após install_govbr_assets)
│   ├── templatetags/           # Template tags customizadas
│   └── management/commands/    # Comando install_govbr_assets
├── example_project/            # Projeto de exemplo
├── tests/                      # Testes automatizados
├── docs/                       # Documentação
└── tox.ini                     # Configuração de testes
- Fork o 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
Veja CONTRIBUTING.md para detalhes sobre padrões de código, testes e processo de contribuição.
| Python | Django | Status | 
|---|---|---|
| 3.10 | 4.2 LTS, 5.0, 5.1 | ✅ Testado | 
| 3.11 | 4.2 LTS, 5.0, 5.1 | ✅ Testado | 
| 3.12 | 4.2 LTS, 5.0, 5.1 | ✅ Testado | 
| 3.13 | 4.2 LTS, 5.0, 5.1 | ✅ Testado | 
CI/CD: 12 combinações testadas automaticamente via GitHub Actions + Tox
Este projeto é distribuído sob a MIT License - veja LICENSE para detalhes.
- Código de Integração Django (este projeto): MIT License
- Assets do GovBR DS (@govbr-ds/core): Os assets do GovBR Design System possuem licença própria do governo federal
A MIT License se aplica apenas ao código de integração Django desenvolvido neste projeto. Os assets do GovBR Design System mantêm suas respectivas licenças originais.
Este projeto foi criado usando o Cookiecutter e o template cookiecutter-pypackage.