Django and the idea of web frameworks

First of all, let's discuss the idea of a framework, specifically in the context of web development. As you already know, a web application consists of multiple interconnected aspects—frontend code specifying the appearance of web pages, backend logic to process and handle data, and a server to keep the application online so that others can access and interact with it.

A web framework handles the heavy-lifting and repetitive aspects of this process. This allows web developers to focus on the specific logic of their applications. Web frameworks usually implement common design patterns and good practices into their structure, so that a web application developed with a framework will be up to common standards by default, without its developer having to manually integrate those standards into the application.

Django, titled the web framework for perfectionists with deadlines, is a Python web framework dedicated to building robust, complex web applications in simple and minimal APIs. The following are a few notable high-level priorities accommodated by Django, as outlined in its documentation:

Needless to say, there are other web frameworks aside from Django, both in general web development and in Python web development, specifically. For example, AngularJS is one of the most popular frameworks for JavaScript projects, while Flask, as mentioned, is another commonly used Python web framework.

Each web framework is typically set out to solve a specific problem, and, in the next subsection, we will learn about the specific features of the Django framework.