.. _howto-custom-management-commands: Writing custom django-admin commands ==================================== .. versionadded:: 1.0 Applications can register their own actions with ``manage.py``. For example, you might want to add a ``manage.py`` action for a Django app that you're distributing. To do this, just add a ``management/commands`` directory to your application. Each Python module in that directory will be auto-discovered and registered as a command that can be executed as an action when you run ``manage.py``:: blog/ __init__.py models.py management/ __init__.py commands/ __init__.py explode.py views.py In this example, the ``explode`` command will be made available to any project that includes the ``blog`` application in ``settings.INSTALLED_APPS``. The ``explode.py`` module has only one requirement -- it must define a class called ``Command`` that extends ``django.core.management.base.BaseCommand``. For more details on how to define your own commands, look at the code for the existing ``django-admin.py`` commands, in ``/django/core/management/commands``.