skillfed

django-extra-views

Extra class-based views for Django

django-extra-views v0.16.0 284.8K downloads/30d#8,060 on PyPI1,436
Permissive license MIT AGING released

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

uv

uv add django-extra-views

poetry

poetry add django-extra-views

Installing 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

Development Status :: 3 - AlphaEnvironment :: Web EnvironmentFramework :: DjangoIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 3

Tags

django class-based views formsetdjango inline formset editingdjango create update with inlinesdjango modelformset viewdjango admin-like views
django-formsclass-based-viewsformsets

More Application Frameworks packages

fastapi

FastAPI is a Python web framework for building…

permissive · top 100 on PyPI

annotated-doc

Provides a way to document function parameters,…

permissive · top 100 on PyPI

textual

Textual is a Python framework for building…

permissive · top 100 on PyPI

typer

Typer builds command-line applications from…

permissive · top 1,000 on PyPI

mcp

Build and connect to Model Context Protocol…

permissive · top 1,000 on PyPI

Werkzeug

Werkzeug is a WSGI utility library providing…

permissive · top 1,000 on PyPI

django-braces

Provides reusable mixin classes for Django…

permissive · top 15,000 on PyPI

django-test-plus

Provides a TestCase subclass for Django with…

permissive · top 15,000 on PyPI

django-service-objects

Provides a Service base class for Django that…

permissive · top 15,000 on PyPI

django-admin-extra-buttons

Adds custom buttons, links, and views to Django…

permissive · top 15,000 on PyPI

django-nonrelated-inlines

Provides Django admin inline classes that let…

permissive · top 15,000 on PyPI

django-weasyprint

Provides Django class-based views and response…

permissive · top 15,000 on PyPI

django-rest-multiple-models

Provides a Django REST Framework view and mixin…

permissive · top 15,000 on PyPI

django-adminplus

Adds custom admin views to Django's admin…

permissive · top 5,000 on PyPI

django-ninja-extra

Django Ninja Extra extends Django Ninja with…

permissive · top 15,000 on PyPI

django-admin-data-views

Adds custom data views to the Django admin…

permissive · top 15,000 on PyPI