You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.2 KiB
33 lines
1.2 KiB
.. _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``. |