Centrric
Published in

Centrric

Why Django?

Photo by Faisal M on Unsplash

Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. Built by experienced developers, it takes care of much of the hassle of Web development, so you can focus on writing your app without needing to reinvent the wheel. It’s free and open source.
-djangoproject.com

Django is a well established, simple and secure web apps development framework based on python.
Django contains most of the ‘ity’ terms like — simplicity, flexibility, reliability and scalability.

Initially, I was attracted to Django because of the above features, which my developer friends used so say all the time. Then something hit me, which is — ‘The apps that use Django’. What I saw was a list — Instagram, Spotify, Youtube, BitBucket, Dropbox etc.
Well, it convinced me for sure.

When I started to code in Django, I was a beginner. It felt a bit complicated for me to pull of thing at that point. But as time passed, it became handier and handier for me. So, the disclaimer is that, for beginners, you will find a hard time figuring out how to pull off. But once you have passed the difficult part, you could literally fly with Django.

Fast & Simple

Django was designed to help developers take applications from concept to completion as quickly as possible.
-djangoproject.com

Since it is python, and python is easy, Django is also easy. Not only because of Python but-
Django uses a structure, where we will be perfectly placed after some time. Django uses the Django way to code. And which has a very good structure and everything is perfectly documented.

Photo by Guillaume Jaillet on Unsplash

Batteries Included

Django is said to be a batteries-included framework. The power of packages makes it so.
- Authentication using auth packages
- Admin package for CRUD
- Sessions for Session Management
- and more…

Photo by 🇨🇭 Claudio Schwarz | @purzlbaum on Unsplash

Community

This is what I love. The community is spread of different countries, different platforms. Do you have a question? Where to ask? Ans: Anywhere
Those people are fantastic.
People makes it better.

Photo by John Schnobrich on Unsplash

Security

Django is very much known for its security focus. As beginners, people usually make security issues, mostly because of bad practices of programming.

SQL Injection, Cross-Site Scripting, Cross-Site request forgery, clickjacking etc. are already taken care of by Django, and it is free from these security issues which any beginner could make.

Django User Authentication method is also another reason for its security and easiness. The authentication, it's hashing, everything is placed perfectly.

Salability

Look at the apps that use Django, and you’ll see the scalability.
Django supports all major databases and also multiple databases at the same time.

Django is highly scalable to meet heaviest traffic demands. Many social networking platforms which have very large active users use Django.
Well, Instagram uses Django. Do we need more clarifications in scalability?

Photo by Collin Armstrong on Unsplash

Built-in Admin

The Built-in-admin from the admin package is so helpful for basic CRUD(Create, Read, Update & Delete).
While I was a beginner who doesn’t need to touch the shell of python, I used the admin which was built-in in Django. It still helps me mostly to test things out.

MVC (MVT)

Model, View, Controller is one of the most popular architectures of in use. It is used to separate business logic from representation.

  • Models: Representation of the data organization, In Django, we use models to define databases. It uses a class for database designs.
    The class name is the name of the table and the attributes are the corresponding columns of the table.
  • View: Its what you see. The view contains all the information that is needed to send to the client.
  • Controllers: Controller controls information flow. When you request a URL that request is passed to the controller then it decides what data is needed to pull from the database and what data should it pass to the view. The controller is the heart of MVC Concept.

DRY Philosophy

Don’t repeat yourself is a principle of software development aimed at reducing repetition of software patterns, replacing it with abstractions or using data normalization to avoid redundancy.
-Wikipedia

Less Code, Quick Development, DRY are some of the philosophies followed by Django

In Django, it is easy to find the problematic function in the code. That’s what a developer needs too. The perfect error console.

Documentation

Django is one of the frameworks has the best documentation. You can check out djangoproject.com/. The official documentation is morethan enough for a beginner to understand Django which makes Django better.
You can make use of
- docs.djangoproject.com/en/
- djangogirls.org/
- django-best-practices.readthedocs.io/
- Max Goodridge Youtube Playlist
- thenewboston Youtube Playlist
- Clever Programmer Youtube Video

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store