What is Django, and why you should use it 🐍
Tags: django, python, webdev, beginners
Published: 2021-03-01 02:51:31

# Django in 20 words (or less) 😅

Django is an open source and powerful web framework written in Python, that let you build web apps rapidly. 🚀

# Who is using Django?

Django is one of the most used backend web frameworks, with over 10 thousand developers who use it to build amazing software.

## Companies using Django

Absolutely, Django is being used by a lot of companies, some of the most remarkable are:

[Instagram](https://www.instagram.com/developerroad/):

Instagram was built originally with Django, nowadays they use custom backend written in Python, but they still use the core functionality of Django.

![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wctcba1z4jego7a9j2po.png)

[Disqus](https://disqus.com/):

Disqus is the most popular comment plugin available, and it was built purely with Django.

![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s00yaivx6pbzwmhdyn92.png)

[Spotify](https://open.spotify.com/):

Spotify don't use Django as it's main backend, but spotify team use it to connect diverse services like Machine learning functionality, (Which is made with Python 😁)

![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/77k6jpc11qjpg19ateua.png)

[Pinterest](https://pinterest.com/):

Some of the core functionality of Pinterest is made with Django, like sharing their boards or subscribing to users.

![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tlir1bcnemgdap9sgetd.png)


# Best features
1. **It's a Python framework!**
   Python is one of the most used (and most loved) programming 
   languages, it allows you to code rapidly and that's why Django 
   results so effective.
2. **Has a built in Authentication system**
   Django has an excellent authentication system by default, also  
  it is really secure and you don't need to install extra packages to 
   build an application that requires it.
3. **It uses MVT pattern**
   Django has the MVT pattern: Model, View, Template
   ![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b3zubm1yxrpkzsv0nf4f.png)

   One of the main advantages of Django is that handles ALL the 
   database operations by itself, through the models, so you don't 
   have  to know `SQL`.

# Myths about Django

**Node is better**
There is not a framework that is better or worst. Node has its advantages, so has Django. The only thing that matters is what you are able to do with what you know.

**Django is not escalable**

Each time I hear that my head explodes 🤯. Some of the most escalable companies like Instagram, Pinterest, Disqus or Spotify has Django in their core so that is totally false.


# What do you need to learn Django? 🤔

Although Django is a powerful web framework with batteries included, it could be also confusing if you don't have previous knowledge of the following concepts:

1. Basic Python concepts:
   * Variables
   * String operations
   * Loops
   * Conditionals
   * Boolean expressions
   * Functions   
   * Module imports
2. Object oriented Programming:
   **You don't need to master it, but at least understand the basics**
   * Most important concept: *Inheritance*
3. Some Frontend basics (Totally optional):
   * Basic Html
   * Basic Css
   * A little bit of Javascript (Even more optional)

Maybe in this moment you are feeling like this:

![Frustrated](https://media.giphy.com/media/ilkfz8Mn5Yz7O/giphy.gif)

But don't get frustrated, programming isn't a sprint ⏱️, is a marathon🏃🏽‍♂️, and you have to plan your study plans to achieve your goals.

You can get the basics of Python, in around a week or two, Basic Object oriented Programming in another week, and you can learn basic Html and Css on the road.

So 🙅‍♂️ 0 excuses, if you think Django is a right choice for you START RIGHT NOW!.

I'm thinking about making a Django series, comment below if you want it.

>Follow me in [My blog](https://developerroad.herokuapp.com/blog/), 
 to get more awesome tutorials like this one.
 
Please consider supporting me on [Ko-fi](https://ko-fi.com/daniel1404) you help me a lot to 
 continue building this tutorials! 😁.
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/Y8Y03P8P1)