Junior
241
Tell us about the manage.py file in Django and its purpose.
Answer from AI
sobes.tech AI
manage.py is a command-line utility automatically generated when creating a Django project with django-admin startproject. It serves as a wrapper around django-admin and simplifies performing various project management tasks without needing to specify the full path to the Django module.
Its main purposes:
- Executing project management commands: migrations, running the development server, creating new apps, running tests, and more.
- Automatically setting the environment variable
DJANGO_SETTINGS_MODULEpointing to the project’s settings file.
Inside manage.py, there is code that imports your project's settings module and delegates command execution to the django-admin utility.
Typical commands executed via manage.py:
runserver: Starts the local development server.makemigrations: Creates new migrations based on model changes.migrate: Applies migrations to the database.createsuperuser: Creates a superuser.startapp: Creates a new app within the project.test: Runs a set of tests.shell: Opens an interactive Python shell with Django settings loaded.
Example usage:
# Run the development server
python manage.py runserver
# Create migrations
python manage.py makemigrations
# Apply migrations
python manage.py migrate