Django

Django is my best tool for building websites. When I get to choose the platform I often pick Django. Here are some of the reasons why I use it so much.

Developing with Django is very fast

The core functionality of a website is usually to diplay some kind of data. Let's say for example that you have pages, articles and products. These pages, articles and products can have different kinds of content like text, images, multiple choice fields etc.

Django makes it very easy to define such custom data models, and you automatically get an excellent administration interface. This saves me a lot of time and my clients a lot of money.

Building the frontend for a site is a relatively easy task once the data structures have been define. Django has excellent tools for this as well.

Django is flexible

Websites evolve, and the underlying data models change. Django has excellent tools to modify your data quickly. This is something that happens all the time with dynamic websites.

Modifying data models is something that can be very painful or even impossible with other Content Management Systems or tools. If you only have pre-defined data like pages and articles it can become very painful and time-consuming to modify your site the way you want it.

Django has the necessary tools to modify data models, populate them with default data, and roll back the updates if necessary.

Django is user friendly

Visitors love websites that are easy to navigate. Django has a beautiful mechanism for designing user friendly URLs. And search engines like what's good for users, so this is good for SEO as well.

Many other platforms have little flexibility when it comes to designing nice URLs. With Django, every URL on your site can be created through a "regular expression", which makes it very easy for the devloper.

Django has excellent caching

It is very easy to build very fast sites with Django. Django supports a wide range of caching methods which enables me to always pick the right one for the task at hand.

A fast website is important for both human visitors and search engine bots.