/django-extensions

This is a repository for collecting global custom management extensions for the Django Framework.

Primary LanguagePythonMIT LicenseMIT

Django Extensions

Build Status Latest PyPI version Supports Wheel format 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 2.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 and run setup.py:

$ git clone git://github.com/django-extensions/django-extensions.git
$ cd django-extensions
$ python setup.py install

Installing It

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

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:

Documentation

You can view documentation online at:

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

Support

Django Extensions is free and always will be. It is development 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 :-)