Django documentation

38. User-registered management commands

This example is for Django's SVN release, which can be significantly different from previous releases. Get old examples here: 0.96, 0.95.

The manage.py utility provides a number of useful commands for managing a Django project. If you want to add a utility command of your own, you can.

The user-defined command ‘dance’ is defined in the management/commands subdirectory of this test application. It is a simple command that responds with a printed message when invoked.

For more details on how to define your own manage.py commands, look at the django.core.management.commands directory. This directory contains the definitions for the base Django manage.py commands.

Model source code




Sample API usage

This sample code assumes the above models have been saved in a file mysite/models.py.

>>> from mysite.models import 

>>> from django.core import management

# Invoke a simple user-defined command
>>> management.call_command('dance')
I don't feel like dancing.

# Invoke a command that doesn't exist
>>> management.call_command('explode')
Traceback (most recent call last):
...
CommandError: Unknown command: 'explode'