Roadmap For Learning Django


Getting into a new framework might be challenging. Django is no exception. There is just too much to learn and it can be overwhelming. But with the right roadmap and learning resources, the journey can be simplified.

In this post, I will talk about a simple roadmap for learning the django framework. So, let's get into it.

1. Learn Python

When starting out with django, it is advisable to learn python before learning django. Many new developers dive straight into django without having a knowledge of python. Django is a web framework built with python, and everything that is done in django is done with the python programming language. So, knowing python before learning django is an advantage and will make it easier for you to understand what is going on while developing in django.

2. Get Familiar With The Command Lines

In django, you will work with command lines a lot. Django has it's own command lines for doing a lot of things in your application. They might be a lot of command lines to learn, but you don't need to learn every single one of it. Sometimes you might just need to look it up. You might just need to learn a few that you will use 90% of the time.

3. Learn The Basic Django Concepts

Django has some process you'll need to go through every single time you want to build a web app. These are the first things you need to learn in django, they are:

  • Creating a new project
  • Creating a new app
  • Url Routing
  • Setting Up Templates & Static Files
  • Running your projects on the localhost

4. Learn The Django Views

Most of what you in django will be done in the views. The where you do all the server rendering and most of the python code will be done in there. There are two types of django views which are Function Based Views & Class Based Views. You can learn anyone of this to get started, but most tutorials will start with the function based views, when you know that very well you can move on to the class based views.

5. Learn The Django Models

Django has what is called the models. Models are like databases, but in form of python classes. With the django models, you can create and migrate data to the database. Each model is written in python classes, in which each class has it's own attribute. So, you can think of the name of the model class as the name of the database, and the class attributes as each table in the database.

6. Databases

Using databases is the easiest part of django. Django has a powerful feature known as Object-Relational Mapper(ORM) which allows you to interact with the databases without writing a single line of SQL code. Django uses SQLite as it's default database for every project, but you can also integrate third-party databases like Postgresql or MongoDB.

7. Authentication and Authorization

Authentication in django has been made very easy because most of the work has already been done by django for us, all you just need to do is to access the classes and functions already provided by django. Django has a default User model which is used for saving user data when a user sign up to your platform. Django also has a default auth method which allows us to easily authenticate a user into out apllication.

8. Deployment

Deploying a django project for the first time can be stressful and filled with bugs. But learning how to deploy your django project will definitely make it an easier process. There are a lot of platforms in which you can use to deploy your django project, but the most popular is Heroku. With heroku you can easily deploy your django project if you know how to configure your app for deployment.

Conclusion

The things listed above is just a roadmap to help you get started with django. There is still a lot to learn in django. Hopefully you find post helpful and goodluck on your journey.

Post a Comment

4 Comments

  1. Thanks for the article, but it would have been helpful if you add links to the right video or content that can teach us each concept

    ReplyDelete
  2. Tomorrow i am going to start this course with your videos. i want to develop a webpage to process spatial data. Thank for your information.

    ReplyDelete