Django allows your applications to register custom management commands for the manage.py utility. For example, we used the management commands makemessages and compilemessages in Chapter 9, Extending Your Shop to create and compile translation files.
A management command consists of a Python module containing a Command class that inherits from django.core.management.base.BaseCommand or one of its subclasses. You can create simple commands or make them take positional and optional arguments as input.
Django looks for management commands in the management/commands/ directory for each active application in the INSTALLED_APPS setting. Each module found is registered as a management command named after it. ...