# django-extensions

> Extensions for Django

- **URL**: https://www.freshcrate.ai/projects/django-extensions
- **Author**: pypi
- **Category**: Frameworks
- **Latest version**: `4.1` (2026-04-21)
- **License**: Unknown
- **Source**: https://github.com/django-extensions/django-extensions/blob/main/CHANGELOG.md
- **Homepage**: https://pypi.org/project/django-extensions/
- **Language**: Python
- **GitHub**: 6,803 stars, 1,174 forks
- **Registry**: pypi (`django-extensions`)
- **Tags**: `pypi`

## Description

===================
 Django Extensions
===================

.. image:: https://img.shields.io/pypi/l/django-extensions.svg
   :target: https://raw.githubusercontent.com/django-extensions/django-extensions/master/LICENSE

.. image:: https://github.com/django-extensions/django-extensions/actions/workflows/compile_catalog.yml/badge.svg
    :target: https://github.com/django-extensions/django-extensions/actions

.. image:: https://github.com/django-extensions/django-extensions/actions/workflows/linters.yml/badge.svg
    :target: https://github.com/django-extensions/django-extensions/actions

.. image:: https://github.com/django-extensions/django-extensions/actions/workflows/precommit.yml/badge.svg
    :target: https://github.com/django-extensions/django-extensions/actions

.. image:: https://github.com/django-extensions/django-extensions/actions/workflows/pytest.yml/badge.svg
    :target: https://github.com/django-extensions/django-extensions/actions

.. image:: https://github.com/django-extensions/django-extensions/actions/workflows/security.yml/badge.svg
    :target: https://github.com/django-extensions/django-extensions/actions

.. image:: https://img.shields.io/pypi/v/django-extensions.svg
    :target: https://pypi.python.org/pypi/django-extensions/
    :alt: Latest PyPI version

.. image:: https://img.shields.io/pypi/wheel/django-extensions.svg
    :target: https://pypi.python.org/pypi/django-extensions/
    :alt: Supports Wheel format

.. image:: https://coveralls.io/repos/django-extensions/django-extensions/badge.svg?branch=master
   :target: https://coveralls.io/r/django-extensions/django-extensions?branch=master
   :alt: Coverage

Django Extensions is a collection of custom extensions for the Django Framework.


Getting Started
===============

The easiest way to figure out what Django Extensions are all about is to watch the
`excellent screencast by Eric Holscher`__ (`watch the video on vimeo`__). In a couple
minutes Eric walks you through a half a dozen command extensions. There is also a
`short screencast on GoDjango's Youtube Channel`__ to help show you even more.


Requirements
============

Django Extensions requires Django 4.2 or later.


Getting It
==========

You can get Django Extensions by using pip::

    $ pip install django-extensions

If you want to install it from source, grab the git repository from GitHub::

    $ git clone git://github.com/django-extensions/django-extensions.git
    $ cd django-extensions
    $ pip install .


Installing It
=============

To enable `django_extensions` in your project you need to add it to `INSTALLED_APPS` in your projects
`settings.py` file:

.. code-block:: python

    INSTALLED_APPS = (
        ...
        'django_extensions',
        ...
    )


Using It
========

Generate (and view) a graphviz graph of app models::

    $ python manage.py graph_models -a -o myapp_models.png

Produce a tab-separated list of `(url_pattern, view_function, name)` tuples for a project::

    $ python manage.py show_urls

Check templates for rendering errors::

    $ python manage.py validate_templates

Run the enhanced django shell::

    $ python manage.py shell_plus

Run the enhanced django runserver, (requires Werkzeug install)::

    $ python manage.py runserver_plus


Getting Involved
================

Open Source projects can always use more help. Fixing a problem, documenting a feature, adding
translation in your language. If you have some time to spare and like to help us, here are the places to do so:

- GitHub: https://github.com/django-extensions/django-extensions
- Mailing list: https://groups.google.com/group/django-extensions
- Translations: https://www.transifex.com/projects/p/django-extensions/


Documentation
=============

You can view documentation online at:

- https://django-extensions.readthedocs.io

Or you can look at the docs/ directory in the repository.


Support
=======

Django Extensions is free and always will be. It is developed and maintained by developers in an Open Source manner.
Any support is welcome. You could help by writing documentation, pull-requests, report issues and/or translations.

Please remember that nobody is paid directly to develop or maintain Django Extensions so we do have to divide our time
between putting food on the table, family, this project and the rest of life :-)


__ https://ericholscher.com/blog/2008/sep/12/screencast-django-command-extensions/
__ https://vimeo.com/1720508
__ https://www.youtube.com/watch?v=1F6G3ONhr4k

## Recent releases

| Version | Date | Urgency | Changes |
| --- | --- | --- | --- |
| `4.1` | 2026-04-21 | Low | Imported from PyPI (4.1) |
| `4.0` | 2025-04-08 | Low | ## What's Changed - Improvement: Support for Python 3.12 and 3.13 - Improvement: Support for Django 5.x - Improvement: Switch from setup.{cfg,py} to pyproject.toml - Improvement: graph_models, Add option to display field choices in graph_models (#1854) - Improvement: graph_models, Add webp support (#1857) - Improvement: graph_models, Support for ordering edges on pydot/dot/graphviz (#1914) - Improvement: mail_debug, Update mail_debug command to use aiosmtpd (#1880) - Improvement: shell_p |
| `3.2.4b1` | 2025-04-05 | Low | ## What's Changed - Improvement: Support for Python 3.12 and 3.13 - Improvement: Support for Django 5.x - Improvement: Switch from setup.{cfg,py} to pyproject.toml - Improvement: graph_models, Add option to display field choices in graph_models (#1854) - Improvement: graph_models, Add webp support (#1857) - Improvement: graph_models, Support for ordering edges on pydot/dot/graphviz (#1914) - Improvement: mail_debug, Update mail_debug command to use aiosmtpd (#1880) - Improvement: shell_p |
| `3.2.3` | 2023-06-07 | Low | ## What's Changed * Fix error with lack of PosixPath support by @giff-h in https://github.com/django-extensions/django-extensions/pull/1785 * Import pkg_resources directly  by @foarsitter in https://github.com/django-extensions/django-extensions/pull/1782 * Add REMOTE_USER to werkzeug environment by @confuzeus in https://github.com/django-extensions/django-extensions/pull/1769 * runserver_plus template reloading by @foarsitter in https://github.com/django-extensions/django-extensions/pull/17 |
| `3.2.1` | 2022-09-09 | Low | ## What's Changed * fix translation interpolation in prospective arabic translations by @matthugs in https://github.com/django-extensions/django-extensions/pull/1740 * Use list values for requires_system_checks by @danlamanna in https://github.com/django-extensions/django-extensions/pull/1736 * Added support for Django 4.1. by @felixxm in https://github.com/django-extensions/django-extensions/pull/1763 * Add option to ignore files on runserver_plus reload by @marciomazza in https://github.co |
| `3.2.0` | 2022-07-11 | Low | ## What's Changed * Fix one code format in documentation by @rixx in https://github.com/django-extensions/django-extensions/pull/1704 * Django 4.0 by @webs86 in https://github.com/django-extensions/django-extensions/pull/1698 * Fix KeyError: 'werkzeug.server.shutdown' in runserver_plus by @DavidS-cloud in https://github.com/django-extensions/django-extensions/pull/1718 * Accept both --no-input and --noinput by @PeterJCLaw in https://github.com/django-extensions/django-extensions/pull/1690 * |
| `3.1.5` | 2021-11-07 | Low | **Full Changelog**: https://github.com/django-extensions/django-extensions/compare/3.1.4...3.1.5 |
| `3.1.4` | 2021-11-07 | Low | ## What's Changed * Fix name of mixin in docs by @ryanwilsonperkin in https://github.com/django-extensions/django-extensions/pull/1661 * Fix django.contrib.sites detection in set_default_site command when using AppConfig by @azaghal in https://github.com/django-extensions/django-extensions/pull/1662 * fix typo by @bragboy in https://github.com/django-extensions/django-extensions/pull/1667 * Add --rankdir to graph_models by @ppolewicz in https://github.com/django-extensions/django-extensions/ |

## Citation

- HTML: https://www.freshcrate.ai/projects/django-extensions
- Markdown: https://www.freshcrate.ai/projects/django-extensions.md
- Dependencies JSON: https://www.freshcrate.ai/api/projects/django-extensions/deps

_Generated by freshcrate.ai. Indexes pypi releases for AI-agent ecosystem packages._
