In this short post I will cover just a few reason why I believe Django to be the best web framework.
Easy — Very Easy
“Django is very easy to learn and get started with. You can learn Django in a couple of weeks”
The Django rest framework is famous for having one of if not THE best programming documentation out there.
I usually hate touching docs …
but Django lays out everything in an easy to understand, user friendly manner. It’s so good in fact I don’t and haven’t used anything apart from the docs to teach myself.
Just getting Started? No Problem.
Django has a full, in depth starter project guide which covers all the fundamentals and even a bit more. After the starter project you’ll be able to use its database interface, connect to the admin panel, understand views, models, forms, apps, tests and much more.
It might sound like a lot of work but with the way it’s laid out you’ll feel like you’re on holiday. I learnt about two thirds of all of the Django I know today in about a week.
So when I say it’s easy I mean IT IS EASY.
Security is a thing of the past.
The thing that shocked me the most about is how secure it is. When Building any website you have to be aware that someone out there will try and beat it down to its knees.
Here is a list of common website vulnerabilities which you should know when building any web application …
- SQL Injections
- Cross Site Scripting (XSS)
- Broken Authentication & Session Management
- Insecure Direct Object References
- Security Misconfiguration
- Cross-Site Request Forgery (CSRF)
… and that’s just to name a few.
If you’re like me and don’t know much about security you begin to feel very worried about the health of your website, but you don’t know how to improve it. This causes you to wonder whether you have done enough to protect yourself or if some hacker is going to destroy your work within a matter of hours.
With Django you don’t need to wonder.
“Django is as secure as any web framework can be” — Codeburst.io
A good example of Django’s security capabilities is when you make a form:
For a form you obviously need an HTML element with all of its fields and a submit button such as:
But hackers can easily break this simple form using XSS, CSRF and probably some other tactics which I don’t Know Normally you’d have to make sure you use “htmlspecialchars()” and $_SERVER[“PHP_SELF”] along with many other validation methods to ensure you don’t get hacked.
This is what I do when I make a form in Django:
That’s all the work done for by actual security professionals and compressed into one line of code just for you. With one simple tag I have gone from a completely vulnerable form to something almost impenetrable.
Django is built on python which is known for its power and flexibility. Anything you can do in python you can convert to a webpage with Django.
I have build websites to conduct data and statistical analysis, which is way more than any website needs to do, but it just shows that the sky is the limit.
Or more likely, the CPU on your server is your limit.
“Django is often regarded as the best framework for web application development. It was even included in the list of most loved frameworks in the 2019 Stack Overflow Developer Survey. The web framework for perfectionists with deadlines.”
I am obviously extremely bias to Django as shown above. However, I hope I have be able to guide you around the reasons for why I believe this.
The Django REST framework is a beginner friendly, easy to learn, powerful, secure framework with zero floors in it. You can build anything you want with Django …