Django is one of the most well-knownframeworks of Python, one of the most popular programming languages in today's world. It appeals to a large audience with its easy installation, free usage, and detailed error report pages. However, we can probably answer the question of what Django is by saying that it is a popular web-application framework that provides us with a fast, modular, secure, and reusable development environment. Django also supports open data, is customizable and developable within itself. This structure is flexible and scalable. In addition, it is reliable and is relatively more simple in terms of syntax compared to php and similar languages.
Django, which we can easily explain its popularity with reasonable and logical reasons, seems unlikely to easily give up its place among other frameworks.
2. Why Django?
Named after a jazz guitarist, Django manages to stand out among other frameworks with its fun name alone. Python's framework, which is named after a comedy series, would need such a different name, wouldn't it? However, the reason for Django's popularity is not just this of course.
First of all, Django provides us with a very detailed documentation. This situation can provide a significant benefit to us, who are bombarded with new technologies in today's data age.
Secondly, Django makes us more comfortable in areas like authentication( logging in, logging out, and registering ), forms, file uploads, and developing a control panel for your application that we use frequently during web-development. Django awaits you with the content it hosts ready for the points I mentioned above.
Third, Django is shaped over the MVT design architecture. But what is this MVT?


A basic operating model diagram of a Django application designed with MVT
Model-View-Template In MVT, which we can open as, Model is used for accessing, querying, deleting, editing, and adding data. We see the Model as models.py file in Django. Template is the layer that dictates what files like html, css, js, json, xml will contain and how to use them, which we can translate into Turkish as a template. View layer serves as a bridge between Model and Template layers. It reflects the information obtained from the database, hardware on the server, and server language connections to the templates.
Accordingly, the system designed on 3 layers provides us with significant benefits in our database operations. The data access layer models the data, the sketch layer models the user interface, while the control layer controls the interaction between the data and sketch layers. The feature that distinguishes Django based on modeling from many of them actually comes into play here. Django has its own HTML-based draft language and after the developer matches his model and draft layer with a URL, the structure is presented to the user. Django's own draft language and its structure modeled with MVT instead of the usual MVC design design allow us to look at it from a different perspective. MVC design design can also be another headline of another article.
Lastly, security... It is clear that Django has an efficient protection system in this regard, but why?
In Django documentation, in addition to XSS,SSL/HTTPS CSRF protections; it has detailed about the precautions to be taken against attacks such as SQL injection, Clickjacking. Along with this, Django's advice to its developers is in the direction of fully utilizing the features of the protection system. So much so that, the use of HTTPS protocol, removal of default /admin/ like information from the URL, use of two-factor authentication system, preference of current Django versions are thought to be a solution to potential problems.
For example, among the leading tech giants are Instagram, Spotify, Youtube, Google and more who use Django.
3.How Can I Become a Django Developer?
Now let's talk about the installation of the Django framework. The installation for Linux-based operating systems, which we believe should be the choice of most developers due to their terminal, is as follows;
As we mentioned, Django is a web framework. To install this framework, we must install its programming language, Python. After that, we must install Pip, Python's package management system to install something on Python. At this point
sudo apt-get install python3-pip
It would be enough. However, beforehand, you should make sure that python is installed, that you are working on compatible versions and that your updates have been made.
The rest is quite simple by using pip;
pip3 install Django
Afterwards, you should create an application;
django-admin startproject django_app
And for solving authorization problems, you should authorize a super user/admin.
Congratulations, you have created your first Django Python application and now you should proceed to start publishing over the server. You have already started Django by just following the documented codes. Unless otherwise set, your broadcast will be made locally from localhost 8000.
Where do we work for this Django? In addition to Udemy, YouTube, Coursera, etc., the resources mentioned in this link also seem very helpful.
Happy coding in advance.