What is Django?

Web development is the umbrella term for conceptualizing, creating, deploying and operating web applications and application programming interfaces for the Web. Django makes it easier to build better Web apps more quickly and with less code.

Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. It was built and maintained by the Django Software Foundation (DSF) to takes care of much of the hassle of Web development, so you can focus on writing your app without needing to reinvent the wheel. It’s free and open source.

When you're building a website, you always need a similar set of components: a way to handle user authentication, a management panel for your website, forms, a way to upload files, etc.

Luckily, it was noticed long ago that web developers face similar problems when building a new site, so they teamed up and created framework like Django that give you ready-made components to use. It exist to save you from having to reinvent the wheel and to help alleviate some of the overhead when you’re building a new site.

Django's primary goal is to ease the creation of complex, database-driven websites. Django emphasizes reusability and "pluggability" of components, rapid development, and the principle of don't repeat yourself.

Django can be run in conjunction with Apache, NGINX using WSGI, Gunicorn, or Cherokee using flup. Django also includes the ability to launch a FastCGI server, enabling use behind any web server which supports FastCGI, such as Lighttpd or Hiawatha. It is also possible to use other WSGI-compliant web servers. Django officially supports four database backends: PostgreSQL, MySQL, SQLite, and Oracle. Microsoft SQL Server can be used with django-mssql on Microsoft operating systems, while similarly external backends exist for IBM DB2, SQL Anywhere and Firebird. There is a fork named django-nonrel, which supports NoSQL databases, such as MongoDB and Google App Engine's Datastore.

For developing a Django project, no special tools are necessary, since the source code can be edited with any conventional text editor. Nevertheless, editors specialized on computer programming can help increase the productivity of development. Since Django is written in Python, text editors which are aware of Python syntax are beneficial in this regard.

Django has a very dynamic community, with 80,000 StackOverflow issues and numerous blogs from the developers and power users. Some popular websites that use Django are Bitbucket, Pinterest, Instagram, and The Onion. Django continues to soar in popularity and is likely to remain the most popular choice of Python developers.