What is Django and Why Use It?
Django is a web framework built with the Python. It enables developers to build high-performing, elegant web applications quickly. But what does that mean to you? That question is what we’ll answer here.
A framework like Django does two primary things:
1) It provides functionality that web applications perform over and over again. Let’s take look at user management as an example. There are various housekeeping chores that a program or app performs every time someone logs in: authentication, database permissions, password management, displaying pre-built forms and many more..
Of course you can rewrite this functionality for every web application, but why reinvent the wheel? Most web applications require user authentication, so why not use an authentication system that’s already been built? You’ll save an enormous amount of time and can focus your efforts on the parts of the application that make it unique.
2) The second thing the framework does is to provide a methodology for completing tasks. If you want to create a web form to gather user data, there’s a very specific place that you put the code that creates the forms, and there’s a very specific way that you code them. While there’s an enormous amount of flexibility, using Django components also requires using specific methods to accomplish certain tasks.
In summary, Django is a web framework that provides a significant amount of pre-built functionality, reducing the time it takes you to complete projects. It prescribes a certain methodology for building web applications, which is helpful in deciphering complex applications.
The Course Project
The course is organized into chapters and lessons. Aside from the “Setting Up” chapters, most chapters teach you how to build parts of the application. They’re all-inclusive in that regard. They cover constructing both back- and front-end functionality. For example, the “Home Page” chapter will show you how to create the Django templates, URL, and view to get the home page to display.
I bring this up because it’s probably best if you can work on one chapter at a time and follow through from beginning to end in one session.
The key theme of the course, and project, is to teach you how to build a RestFul API. The project has these distinct parts:
- A responsive blogging web application which have:
- A home page used for all Posts made
- A User management System(Admin Page)
- User Authentication
- Basic CRUD operations
- Sending mail for Reset Password/Forgot Password
- Python 3.x
- An IDE (I am using PyCharm which is quite famous for working with python frameworks and libraries, you can use other)
- Virtualenv (Virtualenv is a utility that lets you create isolated Python environments. All development in this course will be done in an isolated Python environment using Virtualenv)