Implementing custom management commands
Django allows your applications to register custom management commands for the manage.py
utility. For example, you used the makemessages
and compilemessages
management commands in Chapter 11, Adding Internationalization to 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.
You can learn more about custom management commands at https://docs.djangoproject.com/en/5.0/howto/custom-management-commands/.
You are going to create a custom management command to remind students to enroll...