--- id: django-admin-extra-buttons version: "2.2.1" license: unclear license_treatment: permissive maintenance: active --- # django-admin-extra-buttons — Django mixin to easily add buttons to any ModelAdmin License: permissive · Maintenance: active · Downloads: 155.7K/mo ## What it is and what it does django-admin-extra-buttons is a Django mixin that lets you add custom buttons, links, and views to Django admin pages using simple Python decorators. Instead of modifying templates or writing boilerplate admin code, you decorate methods in your ModelAdmin class with @button(), @link(), @view(), or @choice() to expose them as clickable actions in the admin interface. It handles routing, rendering, and state management automatically. The package is actively maintained and supports modern Django versions (4.2, 5.2, 6.0) and Python 3.12+. It has a single runtime dependency on django-stubs and installs with low friction. Common use cases include adding custom admin workflows, linking to external resources, building multi-step wizards, and creating menu-like button groups without touching Django's admin templates. Use it for: - Add a custom 'Export to PDF' button to a ModelAdmin that triggers a background task. - Create a menu-like button in admin that groups related actions (e.g., 'Send Email', 'Archive', 'Duplicate'). - Link to external tools or dashboards directly from the admin change list or detail page. - Build a multi-step wizard for complex admin operations (e.g., bulk import with validation). - Add API-only views accessible from admin without rendering a button in the UI. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Adds custom buttons, links, and views to Django admin pages through simple decorators, enabling wizards, actions, and external resource links without modifying core admin templates. Yes. Low install friction, active maintenance, permissive license, and no known vulnerabilities make this a safe choice. It solves a genuine Django admin pain point—adding custom actions without template hacking—and the decorator-based API is straightforward. Suitable for any Django project needing richer admin customization. ## Install pip install django-admin-extra-buttons uv add django-admin-extra-buttons poetry add django-admin-extra-buttons ## Installing django-admin-extra-buttons Before you install: Low friction install with a single runtime dependency (django-stubs). Active maintenance with recent releases; last commit 2026-05-19. Supports Django 4.2, 5.2, and 6.0 with Python 3.12+. License in practice: Permissive license (BSD) with no notable restrictions on use, modification, or distribution. Quickstart: pip install django-admin-extra-buttons from django_admin_extra_buttons.decorators import button from django.contrib import admin class MyModelAdmin(admin.ModelAdmin): @button() def my_action(self, request): return HttpResponse('Action executed') Requires Django 4.2+ and Python 3.12+; django-stubs must be installed as a runtime dependency. Verify before relying: - Whether django-stubs is used at runtime or only for type checking during development. - Specific Django versions tested beyond 4.2, 5.2, and 6.0 mentioned in classifiers. - Performance impact when adding many buttons to a single ModelAdmin. ## Package facts - License: not declared (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 155.7K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags django admin custom buttons, django admin extra actions, django modeladmin decorators, django admin wizard, django admin links, customize django admin interface, django admin view decorator, django-admin, decorators [View on SkillFed](https://skillfed.io/packages/django-admin-extra-buttons) · [View on PyPI](https://pypi.org/project/django-admin-extra-buttons/)