django-extra-views
Extra class-based views for Django
What it is and what it does
django-extra-views extends Django's built-in class-based views with specialized views for handling formsets and inline model editing. It provides FormSetView and ModelFormSetView for rendering formsets, InlineFormSetView for editing related models, and CreateWithInlinesView/UpdateWithInlinesView for editing a model and multiple inline formsets in a single request. The package also includes mixins for sorting, searching, and displaying success messages. It depends only on Django itself and is designed to reduce boilerplate when building admin-like interfaces or complex multi-form pages.
The package targets developers building Django applications that need to handle multiple related forms on a single page—a common pattern in admin interfaces and data management systems. It has been maintained since 2011 and supports modern Python versions (3.6+) and recent Django releases (2.2-5.1).
Use it for:
- Build an admin-like interface to edit a model and its related inline formsets in a single view without writing custom form handling logic.
- Create a formset view to manage multiple instances of the same model (e.g., a list of addresses or line items) with a single POST request.
- Add search and sorting functionality to list views using the SearchableListMixin and SortableListMixin without custom queryset logic.
- Handle generic inline formsets for models with GenericForeignKey relationships using GenericInlineFormSetView.
- Display success messages after formset submission using FormSetSuccessMessageMixin to provide user feedback.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides additional class-based views for Django that simplify common patterns like formsets, inline editing, and model creation/updating with related forms.
Yes, if you are building Django applications that require multi-form editing or formset handling. The package is mature, well-established, and has no known vulnerabilities. The long release cycle (479 days) is a minor concern but the repository remains active. Install it when you need to reduce boilerplate for common formset and inline editing patterns.
Install
django-extra-views on PyPI
pip
pip install django-extra-viewsuv
uv add django-extra-viewspoetry
poetry add django-extra-viewsInstalling django-extra-views
Before you install
Low friction install with a single runtime dependency on Django. The package is aging (479 days since last release) but the repository remains active with recent commits and is not archived, suggesting maintenance continues despite the long release cycle.
License in practice
MIT license is permissive and places no restrictions on use, modification, or distribution in commercial or private projects.
Quickstart
pip install django-extra-views
Add 'extra_views' to INSTALLED_APPS in settings.py.
from extra_views import ModelFormSetView
class ItemFormSetView(ModelFormSetView):
model = Item
fields = ['name', 'sku']
template_name = 'item_formset.html'
Requires Django to be installed and configured; Python 3.5 or later.
Verify before relying
- Whether the package's formset views work reliably with all supported Django versions (2.2-5.1) in practice
- Current state of pagination support mentioned as 'still to do' in the description
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.5) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — Django |
| Maintenance | aging — 479 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 284,839/month — #8,060 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: django_extra_views-0.16.0-py2.py3-none-any.whl
Tags
More Application Frameworks packages
FastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
textualTextual is a Python framework for building…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
mcpBuild and connect to Model Context Protocol…
permissive · top 1,000 on PyPI
WerkzeugWerkzeug is a WSGI utility library providing…
permissive · top 1,000 on PyPI
django-bracesProvides reusable mixin classes for Django…
permissive · top 15,000 on PyPI
django-test-plusProvides a TestCase subclass for Django with…
permissive · top 15,000 on PyPI
django-service-objectsProvides a Service base class for Django that…
permissive · top 15,000 on PyPI
django-admin-extra-buttonsAdds custom buttons, links, and views to Django…
permissive · top 15,000 on PyPI
django-nonrelated-inlinesProvides Django admin inline classes that let…
permissive · top 15,000 on PyPI
django-weasyprintProvides Django class-based views and response…
permissive · top 15,000 on PyPI
django-rest-multiple-modelsProvides a Django REST Framework view and mixin…
permissive · top 15,000 on PyPI
django-adminplusAdds custom admin views to Django's admin…
permissive · top 5,000 on PyPI
django-ninja-extraDjango Ninja Extra extends Django Ninja with…
permissive · top 15,000 on PyPI
django-admin-data-viewsAdds custom data views to the Django admin…
permissive · top 15,000 on PyPI