mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	git-svn-id: http://code.djangoproject.com/svn/django/trunk@8506 bcc190cf-cafb-0310-a4f2-bffc1f526a37
		
			
				
	
	
		
			33 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| .. _howto-custom-management-commands:
 | |
| 
 | |
| Writing custom django-admin commands
 | |
| ====================================
 | |
| 
 | |
| **New in Django development version**
 | |
| 
 | |
| 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``. |