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 was created in the fall of 2003, when the web programmers at the Lawrence Journal-World newspaper, Adrian Holovaty and Simon Willison, began using Python to build applications. It was released publicly under a BSD license in July 2005. The framework was named after guitarist Django Reinhardt.
In June 2008, it was announced that a newly formed Django Software Foundation (DSF) would maintain Django in the future.
Python is used throughout, even for settings files and data models. Django also provides an optional administrative create, read, update and delete an interface that is generated dynamically through introspection and configured via admin models.
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 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 in 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.
Some well-known sites that use Django include the Public Broadcasting Service, Mozilla, Instagram, The Washington Times, Bitbucket, Disqus, and Nextdoor. It was used on Pinterest, but later the site moved to a framework built over Flask.
Django has a very dynamic community, with 80,000 Stack Overflow 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.