Django web framework
Encyclopedia : D : DJ : DJA : Django web framework
Django is an open source web application framework, written in Python, which loosely follows the Model-View-Controller paradigm. It was originally developed to manage several news-oriented sites for the World Company of Lawrence, Kansas, and was released publicly under a BSD license in July 2005. The current stable version of Django is 0.91, although backwards compatibility is not guaranteed until the upcoming 1.0 release.
Overview and features
Like Ruby on Rails, another popular open-source framework, Django was used in production for some time before being publicly released; it was developed by Adrian Holovaty, Simon Willison, Jacob Kaplan-Moss and Wilson Miner while working for the World Company, and was originally used in the management of three news sites: [The Lawrence Journal-World], [lawrence.com] and [KUsports.com]. Django is named for jazz guitarist Django Reinhardt.Django's background in managing news sites is evident in its design, as it provides a number of features which facilitate the rapid development of content-oriented websites. For example, rather than requiring developers to build controllers and views for administration areas of a site, Django provides a built-in content-administration application which can be included as part of any Django-powered site and which can manage multiple Django-powered sites from one installation; the administrative application allows for the creation, updating and deleting of content objects with full logs of actions performed on each, and provides an interface for the management of users and user groups (including assignment of permissions).
The main Django distribution also bundles applications which provide a comment system; tools for syndicating content via RSS and/or Atom; "flat pages" which allow for pages of content to be managed without the need to write controllers or views for those pages; and URL redirection capabilities.
Other features of Django include:
- An object-relational mapper.
- "Pluggable" applications which can be installed into any Django-powered site.
- A robust database API.
- A built-in "generic views" system which does away with the need to write logic for certain common tasks.
- An extensible tag-based template system with template inheritance.
- A regular-expression-based URL dispatcher.
- A "middleware" system for the development of additional features; for example, middleware components which provide caching, output compression, URL normalization, CSRF protection and session support are included in the main Django distribution.
- Support for internationalization, including built-in translations of the administrative application's interface into a variety of languages.
- Built-in documentation accessible via the administrative application (including automatically-generated documentation of models and template tag libraries added by applications).
Server arrangements
Django can run on Apache under mod_python, or under any WSGI-compliant web server. Django also includes the ability to launch a FastCGI server, enabling use behind any web server which supports FastCGI.The following databases are officially supported for use with Django:
Adapters for Microsoft SQL Server and Oracle are under development, but are still experimental.
External links
From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.
