Skip to content

ivanjun10r/django-govbr-theme

Django GovBR Theme

PyPI version Documentation Status

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.


🚀 Instalação e Uso

Requisitos

  • Python 3.10+
  • Django 4.2+

Instalação

pip install django-govbr-theme

Configuração Mínima

1. 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 collectstatic

Nota: 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'},
]

Uso Básico

{% 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.


📚 Documentação

Para configurações avançadas, componentes disponíveis e exemplos completos:


⭐ Features

  • ✅ 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

🛠️ Para Desenvolvedores e Contribuidores

Setup do Projeto

# 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

Executar Testes

# Todos os testes
tox

# Apenas testes unitários
pytest

# Com cobertura
pytest --cov=django_govbr_theme

# Linting
ruff check .
ruff format --check .

Executar Exemplo

cd example_project
python manage.py runserver
# Acesse: http://localhost:8000

Estrutura do Projeto

django-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

Contribuir

  1. Fork o projeto
  2. Crie uma branch para sua feature (git checkout -b feature/MinhaFeature)
  3. Commit suas mudanças (git commit -m 'Adiciona MinhaFeature')
  4. Push para a branch (git push origin feature/MinhaFeature)
  5. Abra um Pull Request

Veja CONTRIBUTING.md para detalhes sobre padrões de código, testes e processo de contribuição.


📋 Compatibilidade

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


📄 Licença

Este projeto é distribuído sob a MIT License - veja LICENSE para detalhes.

Nota sobre o GovBR Design System

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.


🙏 Créditos

Este projeto foi criado usando o Cookiecutter e o template cookiecutter-pypackage.


🔗 Links Úteis

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published