Django Project MVT Structure
Django follows the MVT (Model-View-Template) architectural pattern, which is a variation of the traditional MVC (Model-View-Controller) design pattern used in web development. This pattern separates the application into three main components:
1. Model
Model acts as the data layer of your application. It defines the structure of your database and handles data-related logic. It typically represents your database tables and is responsible for querying, inserting, updating, and deleting data. Django models are usually backed by relational databases like MySQL, PostgreSQL, SQLite, etc.
To check more, visit - Django Models
2. View
View handles the business logic and user interface rendering. It processes user requests, interacts with models to fetch data, and passes that data to templates for display. In Django, views are Python functions or classes that return HTTP responses.
To check more, visit - Django Views.
3. Template
Template is responsible for presenting the data to the user. It contains the static parts of the HTML and special template syntax (like Django Template Language) to dynamically insert data. Templates usually consist of HTML, CSS, and JavaScript.
To check more, visit - Django Templates

Project Structure
A Django Project when initialized contains basic files by default such as manage.py, view.py, etc. A simple project structure is enough to create a single-page application.
Here are the major files and their explanations. Inside the geeks_site folder ( project folder ) there will be the following files:

Explanation of Key Files and Folders
1. manage.py: This file is used to interact with your project via the command line(start the server, sync the database... etc). For getting the full list of commands that can be executed by manage.py type this code in the command window-
$ python manage.py help
2. folder ( geeks_site ): This folder contains all the packages of your project. Initially, it contains four files -

- _init_.py - It is a python package. It is invoked when the package or a module in the package is imported. We usually use this to execute package initialization code, for example for the initialization of package-level data.
- settings.py - As the name indicates it contains all the website settings. In this file, we register any applications we create, the location of our static files, database configuration details, etc.
- urls.py - In this file, we store all links of the project and functions to call.
- wsgi.py - This file is used in deploying the project in WSGI. It is used to help your Django application communicate with the webserver.