Introduction to Django

Hello everyone, from today we’re going to start a new tutorial series on Django framework. In this tutorial we will cover basic introduction of Django. Before start to learn, lets have a look on some most frequently asked questions about Django. These questions will help you to understand that what actually Django is.

  1. What is Django?
  2. Why use Django?
  3. How does Django work?
  4. Is Django stable?
  5. What are the requirements to learn Django?

So let’s answer these questions one by one.

Introduction to Django

Image Source

Introduction to Django

What is Django?

Django is open-source and free web framework. It is written in Python language. It was created about 13 years ago (21 july 2005) and the latest and stable release Django 2.1 is out this year (1 august 2018) with a whole new set of features and capabilities. It is maintained by the Django Software Foundation, an independent organization established as a 501 non-profit. Django is a framework for web developers, it provides amazing infrastructure required for database-driven websites that have user authentication, content administration, file uploads, and much more.

We doesn’t have to create all these features from sratch, we can use Django framework and utilize these components that are already built-in there, so we can save a lot of time by using these inbuilt components. If you love to working  with python, especially for web application or web design, then you should learn the Django framework.

Why use Django?

We already have seen that how it saves a lot of time for us. There are some another reasons to use Django framework.

  1. Components: It is a light weight and stand alone web server where we can develop and test our project, a template system that uses the concept of inheritance from OOP, supports caching the data into memory, supports middleware framework (a light and low level plugin which is a system for altering input and output of django), consists of an object-relational mapper (ORM) that mediates between python classes and a relational database and many other components are there.
  2. Bundled Applications: Django also includes a number of applications in its contrib package like – dynamic admin interface, an extensible authentication system that follows EAP (extensible authentication protocol), tools for creating Atom (web feeds) and RSS, tools for producing google sitemaps, a site’s framework which allows us to install django only once and run more than one websites, having different contents, inbuilt tool to reduce cross-site scripting, cross-site request forgery, SQL injection, cracking password and mitigate other web attacks.
  3. Extensibility: Django allows us plug the third party code into a regular project, so that it can be re-used. There are around 2500 packages to extend the framework’s original behavior.

There are many other reasons to use Django framework, which will you know while learning it.

How does Django work?

It can be broken into several components like Models.py, URL.py, Views.py files. Each file have their own specification like Models.py defines our data model by extending your single code line into full database tables and add a pre-built administration section to manage content, while on other hand Views.py is the main part of Django. Actual processing happens in view. We’ll discuss it later in detail.

Is Django stable?

Of course, Django is stable. Most of the companies are using it. Some of them are:

  • Bitbucket
  • Instagram
  • Pinterest
  • Mahalo
  • The washington post’s webstite

What are the requirements to learn Django?

You should be familiar with basic syntax of Python, functions, importing external modules, conditional operator, loops, Regular Expression, data structure like tuple, set and dictionary, and a computer to work with.

That’s all for this article, if you have any problem or question related to introduction to Django then comment below, we’ll reply as soon as possible.

Leave a Comment

Your email address will not be published. Required fields are marked *