The MVT (Model View Template) is a software design pattern. It is a collection of three important components Model, View, and Template:

  • Model: The Model represents the data of your web application. It's like a container that holds information. For example, if you have a website about books, the Model would hold details such as the book's title, author, and publication date.
  • View: The View is like a middleman between the Model and the user. It takes the data from the Model and decides how to present it to the user. It's responsible for showing the information in a way that makes sense. For instance, the View would take the book's details from the Model and display them nicely on a webpage.
  • Template: The Template is all about the visual part of your web application. It's like a blueprint or a design for how the webpage should look. The Template works together with the View to take the data from the Model and put it in the right places on the webpage.

The user sends an HTTP request to a specific URL. The server receives this request and processes it by retrieving the HTML template, which serves as the page's display in the browser, and data from the model. The server returns an HTTP response to the user, passing the data from the model (+ any additional data) and the template for rendering, which serves as the interface for the user.

Let's describe the URL of this chapter:

Here's a breakdown of the URL:

  • https:// is a secure HTTP protocol that ensures the security of your request.
  • is the domain name of our platform. When you use this name, the internet searches for the server associated with this domain.
  • /courses/v2/... is the path to the specific resource you're accessing.

In the context of Django, it takes all requests at the start point ( and directs them to different functions or classes that perform specific actions. These functions or classes are referred to as "Views" in Django, as they handle the requests and determine how to respond to them.

The task of Django is to receive a specific URL path and direct the program to a specific view to retrieve data from the model and a specific template and then return them to the user.

Everything was clear?

Section 1. Chapter 2