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) •

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