Lucus enhances Django Admin with custom templates, static theming, and a multi-column dashboard.
Project description
Lucus (Django Admin)
Lucus is a customization layer for Django Admin: it overrides admin templates and adds a multi-column dashboard on the admin index page.
Installation
pip install django-lucus
Configuration
Add Lucus to INSTALLED_APPS:
INSTALLED_APPS = [
# ...
"lucus",
"django.contrib.admin",
# ...
]
After that, Lucus will automatically load its templates and static assets.
Template precedence (order matters)
Lucus overrides Django admin templates. To make sure Lucus templates are used, lucus must be
placed before django.contrib.admin in INSTALLED_APPS.
Dashboard: LUCUS_DASHBOARD
The dashboard on /admin/ is configured via settings.LUCUS_DASHBOARD.
The configuration supports two modes:
- Full layout config (columns and sections specified directly).
- Grouped config (automatic link building from the admin by
app_labels, or explicitlinks).
In all modes:
- Columns
1..4are supported (1-based numbering). - A section is shown only if Lucus could resolve at least one link.
You can provide a link in two ways:
url— an explicit URL;admin_urlname— an admin URL name, e.g.admin:app_model_changelist(Lucus will callreverse()).
Mode 1: full layout config
Provide a list of columns as objects:
LUCUS_DASHBOARD = [
{
"column": 1,
"classes": "lucus-dashboard__col ...",
"sections": [
{
"title": "🎓 Education",
"links": [
{"label": "Instructors", "admin_urlname": "admin:academy_instructor_changelist"},
{"label": "Courses", "url": "/admin/academy/course/"},
],
},
],
},
{
"column": 3,
"sections": [
{
"title": "🛟 Support",
"links": [
{"label": "Tickets", "admin_urlname": "admin:supportdesk_ticket_changelist"},
],
},
],
},
]
column inside objects is optional, but if it exists, Lucus will place sections into the 1..4 grid.
Mode 2: grouped config
Provide a list of groups (card sections) in this format:
LUCUS_DASHBOARD = [
{
"column": 1,
"title": "👤 Authorization",
"app_labels": {"auth"},
},
]
In this variant, the app_labels key determines which admin apps to scan for models and build links automatically.
Important:
linksin the group is not provided (this is the "no links" mode).- If the admin has no registered models for the provided
app_labels, the section may not appear.
Grouped config with explicit links
If you provide links instead of app_labels, Lucus will use them directly:
LUCUS_DASHBOARD = [
{
"column": 2,
"title": "👤 Authorization",
"links": [
{"label": "Users", "admin_urlname": "admin:auth_user_changelist"},
{"label": "Groups", "admin_urlname": "admin:auth_group_changelist"},
],
},
{
"column": 3,
"title": "🛟 Support",
"app_labels": {"supportdesk"},
},
]
Behavior note:
- If at least one group provides
links, Lucus disables auto-adding "the remaining apps" beyond what is listed inapp_labels.
Compatibility
Lucus targets Django 5.2+ and supports Django 6.x.
Project details
Release history Release notifications | RSS feed
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_lucus-0.1.0.tar.gz.
File metadata
- Download URL: django_lucus-0.1.0.tar.gz
- Upload date:
- Size: 23.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3aa2dfc01f588c812272d362edc167e00bec2b5b3273a9b462dd4a10100d0cd1
|
|
| MD5 |
93b3751d92285389a0d0591eeb1a2fd4
|
|
| BLAKE2b-256 |
9825198165c47b8359d84b6e2e3b48cde22de4bfad887ea2b1f3a7080efb7ed2
|
File details
Details for the file django_lucus-0.1.0-py3-none-any.whl.
File metadata
- Download URL: django_lucus-0.1.0-py3-none-any.whl
- Upload date:
- Size: 31.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5988235dec76d0b34eaf9aaf502f461078de3f2627a0bad9496a6148a975bd62
|
|
| MD5 |
7fe9b36d1203ef0c88d7810111654115
|
|
| BLAKE2b-256 |
0e184780932aac74266931623c2e4e4ed5bc21211d3464dfd161488077911f27
|