What is Django?

| Posted Oct. 30, 2020 | General Information


So let's cut to the chaise. What is Django?

Django is a Python based Web Framework. So basically you can make a web application that handles data using Python programming language. Because Python is a very powerful programming language many developer over the world use Django.

What is a web framework you ask? Web Framework is a package that capsules common tasks that a web applicatoin handles. There are three types of frameworks.

  • Fullstack Framework
  • Micro Framework
  • Progressive Framework

Django is a Fullstack Framework, meaning it holds functions for making the backend and the frontend for the web application out of the box.

But as you know, there are many, and I mean MANY web frameworks out there. For example, JavaScript has Nodejs.PHP has Laravel. Java has Spring Framework with Spring Boot. So what makes Django special? After all, there must be a reason developer might want to use Django over other web frameworks.


Django's Power

So what differentiates Django from other web framework? Simply, the "battery-included" and "out of the box". What does this mean? Imagine you are trying to make your own blog(yes, so original). So what do we need? A quick thinking might bring the below list we will need for a blog.

  • Article List Screen
  • Article Detail Screen
  • Article Create Screen
  • Article Edit Screen
  • Article Delete Screen or Modal

Quite Standerd, right? And maybe we will need some login system to restrict the create, edit and delete. And if you think about it, edit and delete should be only done by the author of the article, so there needs to be a system to restrict that too.

If you are using a web framework like Node.js, you would need to make a lot of this by yourself, or install a package so you don't need to reinvent the wheel. Many web framework follow this in some form. But if you were using Django, this is all included out of the box. Authentications, Permisssions, ORM(Database) and templating system to render HTML/CSS/JavaScript to the user. Even has a good default out-of-the-box security measures inplace to protect your application and the data it holds. These are all included out of the box in Django. This means you don't need to go search for packages that provides these function and worry about version and inplementation issues. In addition, Django has a default development server. So by running one command Django will run its development server and you can go see your application in your browser. And the biggest Con is the default Admin site. Django provides you with a default Admin site where you can control your data in your Databbase. this can be custamized to your needs. And this is a BIG Con. Most web framework does not have this. And modern web application uses databases. So a lot of real life projects has it's own Admin site. But if you use Django your project will have it out of the box! So your team does not need to think of an Admin site while developing your web application.


How old is Django?

You might think, "wow Django is quite great! But why isn't it popular compared to other frameworks? I haven't heard of it". Well that will be because it is old. Considering how swifty the software industy moves, Django is a grandpapy. It is created in 2003 and first public release was in 2005. It has been 15 years! As people will say it is a boomer. But we can see it as, it has survived for 15 years even developers had numerous options to use. And still very very strong. Recently it had its's 3.0 version release and started supporting async natively. Django has never been stronger before. And I am very sure Django will last for a long time in the future.


Who uses Django?

Okay, so now you know the benefit of using Django. But who actually uses Django? Well I will say a lot. If you go on Stackshare and search "Django" to see who many companies uses Django, it will give you 2143 companies are using Django as of 2020/10/11. But here I will give you some shout out that I think will surprise you but fascinate you. 

1. Instagram 

The most famous will be Instagram. Yes, THAT Instagram. When Instagram started its service, the website for Instagram was built with Django. Instagram originally started by 2 people who did not know how to develop a web application. And I am sure you know what Instagram is today. 

2. Pinterest 

I believe a lot of you know Pinterest, an image-sharing platform. Pinterest uses Django for their website too! I was surprised to know two image-sharing giants use Django for their websites. 

3. Bitbucket 

Bitbucket is also a big application that is built with Django. If you use git I am sure you have come across Bitbucket. This tells that Django can work just fine with other technology/services like git as well. 

4. Udemy 

Udemy is a platform for online courses. One of the big one in the online course industry. Udemy also uses Django to build its platform. 

5. This website!

And for the final example, this website is made with Django! Yes, you are using a django website :)

Here I only showed 5 companies/applications that use/used Django for its platform. But I believe these are enough to convince you that Django is not just "okay" with production, but is a great partner for both developer and customers. The above all have authentication, sharing content, comments and profile system in their platform. And Django is capable of powering all those.


Only Web Applications?

Now you might ask, will Django only make web applications like blogs? And this is a very fair and a great question considering a lot of modern web applications separates its application with frontend and backend. So the backend is responsible for handling data and serving it to the frontend, while the frontend will handle user interactions. So the question will turn to "can Django be used as a Web API?". And the answer is yes, yes it can. By using a package called Django REST Framework you can turn Django into a Web API that serves data to the frontend whilst having all the pros of Django. And the package integrates so well that the development speed and feel is basically the same as regular Django. So you can develop APIs very very fast and smoothly.


What kind of career path is open for learning Django?

By learning Django, what kind of career path can you open you might ask. After all if you have a skill you might want to use that skill for work. The main career path will be for Web Developer. This isn’t surprising considering Django is a web framework. But because Django is written with Python, it will sync will with AI and Machine Learning.


How popular is Django in Japan?

So how popular is Django in Japan? To see how popular something is, google trend is a good measurement. So here is the trend for japan since 2004.

As you can see, Django’s population is slowly but surely rising. So Django is more and more needed in Japan.

What about a job demand? If you go check around job listing sites in Japan you will see there are quite a number of job offers requiring skills in Django. Mixess also has some job openings using Django. 

Why don’t you check it out and apply to the one that interests you?






Why not use Django?

So why not use Django for your next project? It is free to use, a ton of packages so you do not need to reinvent the wheel, and tons of articles and open discussions in various IT forums you can refer to. You will have a great time with Django with the promise of robustness.


Leave a comment

Login or Register to Comment