Django (веб-фреймворк)

Материал из Циклопедии
Перейти к навигации Перейти к поиску
Логотип Django

Django — веб-фреймворк для разработки на языке Python.

Основан на ряде принципов, таких как DRY (Don’t Repeat Yourself)[1].

Использует парадигму Model Template View, похожую на MVC, при этом Представление в MVC соответствует шаблонам Django в MTV, а Контроллер в MVC соответствует самому фреймворку[2].

Текущая стабильная версия фреймворка — 2.0.7[3]. Поддерживает разработку и владеет торговой маркой некоммерческая организация Django Software Foundation[4], проект является открытым ПО[5].

Возможности[править]

  • Работа через интерфейс WSGI[6] в production-серверах[7] (например Apache[8], Nginx).
  • ORM, позволяющая работать с такими СУБД как MySQL, PostgreSQL, SQLite и Oracle DB[9].
  • Шаблоны, поддерживаются как встроенный синтаксис Django Template Language, так и Jinja2.
  • Менеджер URL[10].
  • Встроенная система аутентификации и авторизации[11].
  • Защита от таких видов атак как CSRF[12], поддержка HSTS.
  • Дополнительные компоненты:
    • Административная панель для управления данными сайта[13].
    • Поддержка RSS и Atom[14].
    • Поддержка карт сайта (sitemap)[15].

История[править]

Фреймворк начал разрабатываться сотрудниками газеты Lawrence Journal-World в 2003 году[16] и был назван в честь гитариста Джанго Рейнхарда[2].

Первая презентация состоялась в июле 2005 года в Чикагской Группе Пользователей Python[17].

Использование[править]

На Django написаны такие известные сайты как[18]:

Источники[править]

  1. Design philosophies (англ.). Django documentation. Django Software Foundation. Проверено 17 июня 2018.
  2. 2,0 2,1 FAQ: General (англ.). Django documentation. Django Software Foundation. Проверено 20 июня 2018.
  3. Django bugfix releases: 2.0.7 and 1.11.14 | Weblog (англ.). Django Software Foundation (2018-07-02). Проверено 5 июля 2018.
  4. About the Django Software Foundation (англ.). Django Software Foundation. Проверено 20 июня 2018.
  5. django/LICENSE at master · django/django (англ.). GitHub. Проверено 20 июня 2018.
  6. PEP 3333 -- Python Web Server Gateway Interface v1.0.1 (англ.). PEP. Python Software Foundation (2010-09-26). Проверено 22 июня 2018.
  7. How to deploy with WSGI (англ.). Django documentation. Django Software Foundation. Проверено 20 июня 2018.
  8. How to use Django with Apache and mod_wsgi (англ.). Django documentation. Django Software Foundation. Проверено 20 июня 2018.
  9. Databases (англ.). Django documentation. Django Software Foundation. Проверено 17 июня 2018.
  10. URL dispatcher (англ.). Django documentation. Django Software Foundation. Проверено 20 июня 2018.
  11. User authentication in Django (англ.). Django documentation. Django Software Foundation. Проверено 17 июня 2018.
  12. Cross Site Request Forgery protection (англ.). Django documentation. Django Software Foundation. Проверено 17 июня 2018.
  13. The Django admin site (англ.). Django documentation. Django Software Foundation. Проверено 17 июня 2018.
  14. The syndication feed framework (англ.). Django documentation. Django Software Foundation. Проверено 20 июня 2018.
  15. The sitemap framework (англ.). Django documentation. Django Software Foundation. Проверено 20 июня 2018.
  16. Karen Dillon Lawrence-born Django, which revolutionized website construction, celebrating its 10th anniversary (англ.). LJWorld.com (2015-07-09). Проверено 22 июня 2018.
  17. Chipy presentation a success | Weblog (англ.). Django Software Foundation (2005-07-15). Проверено 17 июня 2018.
  18. Высоконагруженные сайты и приложения на Python / Django (29 проектов). Блог компании SECL Group. Habrahabr (2014-04-10). Проверено 22 июня 2018.

Ссылки[править]

 
ASP.NET

ASP.NET MVC DotNetNuke MonoRail

ColdFusion

ColdSpring Fusebox Mach-II Model-Glue

Java

Apache (Cocoon Struts Velocity WebWork 2) • AppFuse Aranea Facelets Flexive FreeMarker Google Web Toolkit Grails (Groovy) • Hamlets ItsNat JavaServer Faces JBoss Seam Jspx jZeno Lift (Scala) • Makumba OpenLaszlo OpenXava Play! (Scala, Java) • Reasonable Server Faces (RSF) • Restlet RichFaces RIFE Shale SmartClient Spring Stripes Tapestry ThinWire Vaadin WebMacro WebWork WebObjects Wicket ZK

JavaScript

AJILE AngularJS Backbone.js Clean AJAX Dojo Toolkit Echo Ember.js Ext JS jMaki jQuery Knockout.js Microsoft AJAX Library MochiKit MooTools node.js PhoneGap Prototype qooxdoo Rialto Toolkit Rico script.aculo.us SmartClient SproutCore Spry Underscore Yahoo! UI Library

Perl

Catalyst Interchange Maypole Mojolicious Titanium

PHP

Acode Akelos BlueShoes CakePHP Canvas CodeIgniter Cotonti DIY Drupal Fuse Horde Joomla Kohana Laravel LiveStreet MODX Phalcon PHP PHP For Applications PHPOpenbiz PRADO Qcodo Seagull Solar Symfony W3Core Yii Zend Zoop

Python

CherryPy Django GAE framework Karrigell Nevow Porcupine Pylons Pyramid Spyce TurboGears Twisted Tornado Webware Zope

Ruby

Camping Cerise Nitro IOWA Merb Padrino Ramaze Ruby on Rails Sinatra

Прочие
языки

Alpha Five Fusebox (ColdFusion, PHP) • Helma Object Publisher (Server-side) • Magic (Scheme) • OpenACS (Tcl) • Oracle Application Express (PL/SQL) • Seaside (Smalltalk) • UnCommon Web (Common Lisp) • Yaws (Erlang) •

Сравнение каркасов веб-приложений