Skip to main content

Tema índigo simples para o Django Admin: paleta navy/azul + linha de alerta de Admin.

Project description

django-admindigo

CI PyPI Python Django License: MIT

Tema índigo simples para o Django Admin, empacotado como app reutilizável. Aplica uma identidade visual azul/navy (#002133 / #00314D, acento #1B5589) ao admin e adiciona uma linha fina vermelha fixa no topo, alertando que você está no ambiente administrativo.

  • 🎨 Cabeçalho, breadcrumbs, botões, títulos e links na paleta índigo.
  • 🛡️ Linha de alerta vermelha persistente no topo (você está no Admin!).
  • 🏷️ Logo padrão neutro na marca do admin (substituível).
  • 🌓 Funciona nos temas claro e escuro do admin do Django.
  • ⚙️ Zero código: configurável apenas por settings.

Django Admin com o tema django-admindigo

Dashboard do admin com o tema aplicado e o branding padrão (Administração). O texto é configurável via ADMINDIGO_SITE_HEADER.

Requisitos

  • Python ≥ 3.10
  • Django ≥ 4.2

Instalação

1. Instale o pacote

Via PyPI:

pip install django-admindigo

Direto do GitHub (última versão da branch main):

pip install "git+https://github.com/LisandroGuerra/django-admindigo.git"

De uma tag/versão específica:

pip install "git+https://github.com/LisandroGuerra/django-admindigo.git@v0.1.0"

Local, para desenvolvimento (modo editável):

git clone https://github.com/LisandroGuerra/django-admindigo.git
pip install -e ./django-admindigo

Em pyproject.toml (uv / PEP 621):

dependencies = ["django-admindigo"]

# durante o desenvolvimento, apontando para um diretório local:
[tool.uv.sources]
django-admindigo = { path = "../django-admindigo" }

2. Registre o app antes de django.contrib.admin

# settings.py
INSTALLED_APPS = [
    "admindigo",                # <-- OBRIGATÓRIO: antes do admin
    "django.contrib.admin",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.messages",
    "django.contrib.staticfiles",
    # seus apps...
]

Por que antes? O tema sobrescreve admin/base_site.html. Com o loader APP_DIRS=True, o Django procura templates na ordem do INSTALLED_APPS, então o admindigo precisa aparecer antes do admin para ter prioridade.

3. Garanta o serviço de arquivos estáticos

django.contrib.staticfiles deve estar no INSTALLED_APPS e STATIC_URL definido. Em produção, rode collectstatic e sirva os estáticos por um servidor real (ex.: WhiteNoise ou nginx):

python manage.py collectstatic --noinput

Pronto. Acesse /admin/.

Configuração

Tudo via settings.py — sem escrever templates:

ADMINDIGO_SITE_HEADER = "Meu Sistema · Administração"  # marca no topo + <title>
ADMINDIGO_SITE_TITLE  = "Meu Sistema Admin"            # <title> da aba
ADMINDIGO_INDEX_TITLE = "Painel"                        # título do dashboard
ADMINDIGO_LOGO        = "minhaapp/img/logo.svg"         # caminho em static/ ou URL
Setting Padrão Descrição
ADMINDIGO_SITE_HEADER "Administração" Texto da marca + título
ADMINDIGO_SITE_TITLE "Admin" <title> das páginas
ADMINDIGO_INDEX_TITLE "Painel administrativo" Título do dashboard
ADMINDIGO_LOGO logo neutro embutido Caminho em static/ ou URL absoluta / iniciada por /

Um admin.py do projeto que defina admin.site.site_header tem prioridade sobre ADMINDIGO_SITE_HEADER (o tema só preenche o padrão).

Personalizar as cores

As cores vêm de CSS custom properties. Para ajustar, carregue um CSS próprio depois do tema (ex.: criando seu admin/base_site.html que estende o do tema e adiciona um <link> no bloco extrastyle), sobrescrevendo:

:root {
  --admindigo-primary:   #002133;  /* cabeçalho / títulos */
  --admindigo-secondary: #00314D;  /* breadcrumbs / botões */
  --admindigo-accent:    #1B5589;  /* hover / links */
  --admindigo-alert:     #c62828;  /* linha de alerta no topo */
}

Como funciona

  • Sobrescreve admin/base_site.html (marca + injeção do CSS via bloco extrastyle).
  • Mapeia as variáveis nativas do admin (--header-bg, --primary, …) e reforça com seletores diretos, cobrindo tema claro e escuro.
  • A linha de alerta é um body::before fixo de 3px.
  • Os títulos do admin são preenchidos por um AppConfig.ready() a partir das settings ADMINDIGO_*.

Desenvolvimento

git clone https://github.com/LisandroGuerra/django-admindigo.git
cd django-admindigo
pip install -e ".[test]"
pytest

Veja CONTRIBUTING.md para detalhes (build, testes e release).

Licença

MIT © Lisandro Guerra

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

django_admindigo-0.1.0.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_admindigo-0.1.0-py3-none-any.whl (8.1 kB view details)

Uploaded Python 3

File details

Details for the file django_admindigo-0.1.0.tar.gz.

File metadata

  • Download URL: django_admindigo-0.1.0.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for django_admindigo-0.1.0.tar.gz
Algorithm Hash digest
SHA256 1ea9c7ea8046dca26baa953bcf8cc6dc704c7ad326a2fc467699a740d9421205
MD5 88cb95261a7d2863784c946dad4c4c3d
BLAKE2b-256 c2a8a93d6342967a42a8bb43c2a267e07fb54767e105906a8a1e5946df6a795b

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_admindigo-0.1.0.tar.gz:

Publisher: publish.yml on LisandroGuerra/django-admindigo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file django_admindigo-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for django_admindigo-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2062d2af1a9fd95f9ba67bd00934526866120b2b8b957c7b664b5c926ed09fc5
MD5 f115841d0adbed00e785a72b149bfcba
BLAKE2b-256 caa89ef2c33a3749a5f5194ff07093c66f3068875badeec5d907024b41adf278

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_admindigo-0.1.0-py3-none-any.whl:

Publisher: publish.yml on LisandroGuerra/django-admindigo

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page