Unlock Django : The Full stack Guide
Tags: django, backenddevelopment, python, web
Published: 2023-12-27 10:43:57

Welcome fellas :smile:, this is my first blog :page_facing_up:. Here, I will discuss about the collective steps that will lead you in a journey of a successful django developer :computer:. But before heading towards the steps, let us know what is this framework all about ? Django is very robust, powerful , **fullstack** framework from python, which got recognized for its justified tagline - **The web framework for perfectionists with deadlines.** Born in 2002 :baby:, as being used for a famous news journal's website , django has spent almost 21 years upto its version 5.0 (beta , released in 2023). So, how it had survived so long ? , the answer is its **MVT architecture (Model-Views-Template)** and **built-in ORM(Object Relational mapper)**. Django has its native support for all SQL databases(like SQLite, PostgreSQL, MySQL, SQL server), but, nowadays we can integrate it with some big NoSQL giants also (like MongoDB , Redis , Graphql) and some advanced databases (like appwrite , firebase). Although, Django was a gigantic monolithic during its birth time ,but now we can just use some its cool functionalities without its restricting environment and by the boon of APIS like REST and others it has become possible in the industry. So, now you can see :open_mouth::open_mouth:, django is one of the rapidly evolving fish :fish: of this enormously large ocean of web development :ocean:. So , after this profound introduction , lets put some spotlights on the key-steps for being a well-known django developer:clipboard:.

:exclamation: :exclamation: _Please copy the links and paste in new tab . All links are valid . There is some problem from this website._


###<u>Step-1</u>:bulb:<u>Know Python A-Z</u> :snake:
Its obvious that you have to know python and not by some teaspoon ammount, topics are -

```
(Basic to Intermediate - can't skip)

1. Variable and Datatypes
2. Conditionals
3. Loops
4. Strings (including slicing , f-strings)
5. Functions (including Higher order funcs also)
6. Scopes
7. Python Data structures (List ,sets ,tuples, dictionaries) and 
   their short comprehensions
8. Basics of File handling
9. Error Handling
10. Enumerate
11. Decorators
12. Packages , Modules and IMPORT st.
13. OOPS

(Advanced - Can do after few 3-4 steps)

14. Asynchronous Programming and Threading (after python 3.4x)
```
Spend at least 6-8 months for learning and revising by making some small projects.

###<u>Step-2</u>:bulb:<u>Know DBMS</u> :book:
So, when you have spent your half of the year behind python , now you can move to another important chapter - DBMS (Database Management System). Topics you must follow up are -
```
1. What is DBMS and why we use it?
2. 2 tier , 3 tier and 3 schema architechture
3. ER model
4. Relational Algebra
5. SQL (what is it , about schema , keys, tables , row , column) 
   + COMMANDS
```
Spent the rest 3-4 months for learning DBMS.

###<u>Step-3</u>:bulb:<u>Know the Web</u> :gem:
Try to know how a Web-App works by covering these topics -
```
1. what is HTTP
2. What are the status codes in HTTP
3. How the connection is made between server and user [importance 
   of HTML,CSS,JS (just their roles in the web)]
4. What are APIs , types and Roles in this connection
```
For APIs and HTTP : [https://sambitchak.hashnode.dev/](url). 

These are not some book-bound studies. Read blogs and watch some worthy content in YouTube to just make an idea from all these topics, it will mostly take 2-3 weeks at most.

###<u>Step-4</u>:bulb:<u>Know about database connections</u> :paperclip:
Now are good to start the stuffs of sole backend , cover this topics like -
```
1. What is a middleware (basic idea)
2. What are the middlewares used to connect SQL databases into 
  python scripts
3. Learn about Request Module in Python
4. Try to make a small project covering all 1-3 points
```
These will mostly take 1.5 months , things will start to move a little fast from this point.

###<u>Step-5</u>:bulb:<u>Know about framework</u> :mag_right:
Now are good to start the stuffs of sole backend , cover this topics like -
```
1. What is a framework (basic idea)
2. Framework architechtures : especially MVT , MVC
3. What is ORM and what are other alternatives of that
```
For Django's Own ORM : [https://parthib23.hashnode.dev/demystifying-django-orm](url). All these topics will take 2 weeks.

So this is the point where you just one step away from diving into the depths of django. Congratulates yourself, :smiley:

###<u>Step-6</u>:bulb:<u>Know about Django</u> :trophy:
I will not narrate anything about django, because it has a very user-friendly , well-managed documentation , by experienced developers
[https://www.djangoproject.com/](url)
Although , I will suggest to start from -
[https://docs.djangoproject.com/en/5.0/intro/overview/](url)

Now from step-6 , spend couple 3-4 months , build some 1-2 small projects by reading the documentation .You can use bootstrap or similar ready-made templates at this point. No shame!! From Step 1-6 , easily 1.5 - 2 years will be gone, but **don't panick !!**, jobs are not flying away!!

###<u>Step-7</u>:bulb:<u>Know about essentials</u> :high_brightness:
I hope, you have spent atleast 1.5 years by learning django and stuffs. Now just take a break from django (Not from the journey man :laughing:) , and focus on these topics
```
1. Git and Github (2 weeks)
2. HTML + CSS (don't have to be expert, just spend 1.5-2 months)
3. Javascript (Dedicate 3-3.5 months here, don't think about django now)

4. Make some small projects covering these 3 points and push to Github
```
All these 4 steps will take atmost 6-8 months . So use your time with very accurate ratios.


###<u>Step-7</u>:bulb:<u>Know about REST API</u> :gem:
Now, let's move forward to some advance stuffs like REST API. Previosuly , you had an idea about APIs. Now focus more on REST API. Read blogs and watch quality contents. So, when you are done with the basic understanding with REST API , dive to DRF (Django REST Framework) [https://www.django-rest-framework.org](url) and see how django can change its monolithic behaviour by connecting itself to giant JS frontend frameworks. 
Learn and make some projects upto step-7. Spend more 2-3 months. At this points, only small projects will help you to learn and grow more.


So, successfully spending 2.5-3 years, you will have a decent crystal clear knowledge on django. But don't stop. **Revise every previous steps,** and learn how to **integrate** new stuffs with django , that's more important!! If you have reached to this very end :smile:. then, I hope you have enjoyed and realized what I wanted to say. Bye!! and will meet to the next blog :wave::wave: