Project & App Structure
A Django project is the whole site's configuration (settings, root URLs). Inside it, you create one or more apps — each a self-contained piece of functionality.
Example: scaffolding a new app
python manage.py startapp blog
Creates a blog/ folder containing models.py, views.py, admin.py,
migrations/, and more.
This isn't just a tutorial convention — it's exactly how real Django projects, including this platform, are organized: separate apps for distinct concerns (this site has one for lessons, one for paid courses, one for the marketplace, one for payments), each with its own models, views, and admin registration, all plugged into one shared project. Splitting by app keeps each piece independently understandable, instead of one enormous file holding everything.
python manage.py startapp blog
Creates a blog/ folder containing models.py, views.py, admin.py, migrations/, and more.