The script manage.py performs a number of jobs to help set up and manage the project. For testing purposes, it can create a local web server (using runserver as the argument); it manages database schema migrations, generating tables from data models (using makemigration and migrate); it even has a built-in Python 3 shell (using shell) for testing and more:
In this section, we'll use manage.py to create and populate database tables, using shapefiles as the data and schema source.