Implementing custom management commands
Django allows your applications to register custom management commands for the manage.py
utility. For example, you 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.
You can learn more about custom management commands at https://docs.djangoproject.com/en/3.0/howto/custom-management-commands/.
You are going to create a custom management command to remind students to enroll at least on...