Vintage black and white photo of a woman welding metal components together.

What is Django and why is it great for creating websites?

Written by Dr Timothy Mansfield
Published on 1 May 2019

About the author

Tim Mansfield is a strategist, culture consultant and futures researcher, specialising in the cultural sector. He has been the CEO of the Interaction Consortium since August 2016.

Visit profile

Many websites today are created with drag-and-drop platforms such as Squarespace or popular user-configurable tools like Wordpress. But what are the advantages to the more complex approach of developing a website in a framework like Django?

Python is one of the most popular programming languages today, and Django is a tool used by Python developers to facilitate the web development process. Read on to learn how Django helps developers create bespoke and fully customisable websites for clients.

What Django is

Django is a free, open source framework for Python web development and is a very flexible web development tool that can be used to create just about any type of website or app that is needed. A framework is a collection of modules that provides pre-built elements that make coding more efficient and stable.

Developers understand that it's often detrimental to reinvent the wheel, so, rather than code everything from scratch, they often utilise tested and proven modules of code that add standard elements to applications. A framework such as Django provides this functionality.

As an example – a developer shouldn't build login screens and login processing themselves. There's too many places for it to go wrong. Frameworks provide that kind of thing and handle all the tricky cases for you.

What Django isn't

Django is not a programming language like Java or C++, and it's not a scripting language such as HTML, PHP or MySQL. It's also not a CMS (content management system) platform such as WordPress that can be used by anyone. Django is often compared to those technologies because it helps to simplify the web development process with pre-built elements. However, Django is unique because it's a tool only for developers who are skilled with the Python programming language.

How are Django and Python related?

Django is a framework that was built with Python code. It's a tool that adds functionality and expedites the process of coding with Python. Django contains Python code that has already been written to provide functionality that is ready to be plugged into a project. The term "framework" means Django contains a fully functional set of classes, libraries and modules that allow developers to do just about anything they need to create robust websites and apps.

One common way to think about the relationship is like layers, or floors in a house. Python is the foundation, Django sits on top of Python because it's written in the Python language. Your website or app sits on top of Django.

By comparison, Wordpress sits on top of the PHP language.

What is Django best suited for?

It has become common for mainstream websites to use pre-built CMS systems such as WordPress with add-on plugins and themes. But for some projects, a tailored, handmade approach with Django is better suited to create customised, innovative and scalable solutions.

Many of the most well-known sites and apps were built with Django, and they include:

  • NASA
  • Mozilla Firefox
  • The Washington Post
  • Instagram
  • Pinterest
  • National Geographic
  • The Onion
  • Disqus
  • Eventbrite
  • Chess.com

The technical advantages

Django is a great choice for just about any web development project. It's particularly good for social media sites or e-commerce sites that require a strong and secure foundation because the Django framework has built-in features that are great for protecting sensitive data, transactions and user authentication.

If you require a website that is able to scale up and grow in depth and functionality, Django is often a superior tool to accomplish this. Django excels at creating websites that can handle high amounts of traffic and transactions. Django sites are much more adaptable to change without having to worry about affecting the overall functionality of the website.

Django is not only great for building powerful, scalable front-end web content, but it's also highly capable of creating apps that can run on the server side to provide advanced and powerful functionality that most websites don't have. For example, if you need advanced tools for inventory management, market analysis or price comparisons, Django is an ideal tool. Some other things that Django excels at are:

  • Customisable API integrations
  • Custom reports and charts
  • Interactive or dynamic content
  • Customisable views for different types of users
  • Detailed user permissions
  • Custom data validation
  • Mobile-friendly pages and applications
  • Events
  • Large archives, such as collections of artworks

Where did Django come from?

Django was created in 2003 by Python programmers Adrian Holovaty and Simon Willison when they were working at the Lawrence Journal-World newspaper. They released their framework for public use in 2005 under a BSD licence, which is a permission-free software licence with some minimal restrictions for the distribution and use of software based on the framework.

The name "Django" was not, as some might assume, derived from "Django Unchained," the Quentin Tarantino film. Rather, it was named after Django Reinhardt, a jazz guitarist who is considered one of the greatest musicians of the 20th Century. Reinhardt, born in 1910 in Belgium, achieved fame and renown alongside jazz legends such as Duke Ellington, Dizzy Gillespie and Louis Armstrong.

The Django Software Foundation was formed in June 2008. A Django conference for developers and users, DjangoCon, has been held semiannually since September 2008. One is held in Europe and another is held in the United States each year. Django is currently ranked sixth in popularity among development frameworks.

About Python

Python, the language underlying the Django framework, was invented 1989 by Dutch computer scientist Guido van Rossum and released to the public in 1991. The philosophy behind Python was to help produce code that is easier for humans to read and enables clear programming on both large and small-scale projects. It's the fastest growing language and is currently ranked third in popularity among programmers.

Python is a higher-level language than other mainstream options such as C++ and Java. This means that it is more geared towards readability and simplicity of use for humans, rather than directly interacting at the level of the computer processor. It also means that the language is compatible with a variety of different computer hardware platforms.

Two of the main advantages of Python are simplicity and flexibility. It uses easy-to-understand syntax and indented spaces that make it easy to read and learn. Consequently, many people have taken up computer programming who might not have done so otherwise. Python is experiencing a rapid rise in popularity. Some of the most well-known sites and apps built with Python include:

  • Google
  • YouTube
  • Yahoo Maps
  • DropBox
  • Quora
  • Reddit
  • Spotify

How do clients benefit from hiring Django developers?

If you value total control and customisation of your website's user experience and functionality, you will be pleased with the results that Django developers can produce. There's a reason why top sites such as Pinterest, Instagram and NASA chose Django rather than WordPress or other traditional options. If you would like to take advantage of the power and flexibility of a highly experienced Django development team, contact The Interaction Consortium today.

End of article.