What is Python Django? Django is an open source, free, opinionated high level Python Framework.
Oh wow, what a dense sentence. In one way or another this is what you will find on other websites. Let’s take it apart:
- Open Source
- High Level
Python is a computer programming Language used by a lot of people. It basics are not too difficult to learn. But mastering it still takes while.
Although you can already achieve a lot without mastering it.
Open Source Software is software, that has a license which allows you not only to use it (like e.g. Microsoft Word), but to study the source code, change it as you see fit and distribute it.
Free means as in free Beer. You don´t have to pay to use it. Although it doesn´t mean that you get e.g. consultation for free.
A Framework is a set of rules and options written in a specific language. You use the language to do something within this specific rule set.
This can me more low level and leaving you a lot of choices (like Micro Frameworks where you can choose e.g. between multiple libraries for the database connection or High Level ones that made this choice for you).
A Micro Framework is as Framework with a lot of choices you can make, within their set of rules. For example they probably have a kind of Models which represent entries in a MySQL Database.
But if you choose Library a, b or C to connect the model to the Database is your choice.
A high level Framework is it’s contrast. It has a lot of things already set up for you, e. g. selected the library for connecting to a specific database. Or even having selected a specific database system already like PostgreSQL instead of MySQL.
Opinionated is probably the weirdest part of the description. By this I mean that the Framework goes even further than a High Level Framework. It selected e.g. not only the database to use, the library to connect to that database. Also it set up an user model and an access control system, so that you don´t have to worry about this.
The included code guides you to follow their guidelines how to do things in their Framework. And giving you a hard time if you want to do things differently.
Luckily Python Django´s guidelines are mostly along Python guidelines and best practices. This means they help you to do things in a good way, to set you up for success.
Although that means you will be irritated when you are not aware of a specific best practice.
Puh, what a ride. Finally we are at Django itself.
I hope you can already roughly see what Python Django is by now. I try to summarize it:
Python Django is a set of rules made into code, that takes a lot of your todo list (think access control on data level) of your plate. And does it’s best to help you build a secure, stable system. One that does not have to stop at a prototype level and be replace by a rewritten one in another Framework. But can go all the way from Prototype to Production ready system.
Let me know if it helped.
Python For Beginners: https://www.pythonforbeginners.com/
Fullstack Python: https://www.fullstackpython.com/