Django

Django
Выява лагатыпа
Тып Вэб-фрэймворк
Аўтар Lawrence Journal-World[d][1]
Распрацоўшчык Django Software Foundation[d]
Напісана на Python[3][4]
Інтэрфейс вэб-інтэрфейс[d]
Аперацыйная сістэма кросплатформавасць[d]
Мовы інтэрфейсу
Першы выпуск 2004[1]
Апошняя версія
  • 6.0.8 (4 жніўня 2026)[2]
Рэпазіторый github.com/django/django
Ліцэнзія мадыфікаваная ліцэнзія BSD[d][5][6]
Сайт djangoproject.com (англ.)
Лагатып Вікісховішча Медыяфайлы на Вікісховішчы

Django (бел.: Джа́нга) — свабодны фрэймворк для вэб-праграм на мове Python, які выкарыстоўвае шаблон праектавання MVC[7]. Праект падтрымліваецца арганізацыяй Django Software Foundation.

Старонка на Django будуецца з аднай або некалькіх праграм. Адзін з асноўных прынцыпаў фрэймворка - DRY (англ.: Don't repeat yourself).

Таксама, у адрозненні ад іншых фрэймворкаў, апрацоўшчыкі URL у Django канфігуруюцца яўна пры дапамозе рэгулярных выразаў.

Для працы з базай даных Django выкарыстоўвае ўласную ORM, у якой мадэль даных апісваецца класамі Python, і па ёй ужо генеруецца схема базы даных[8].

Выкарыстанне

Вэб-фрэймворк Django выкарыстоўваецца на старонках Instagram [9], Disqus[10], Mozilla[11], The Washington Times, Pinterest, YouTube, Google і інш.

Таксама Django выкарыстоўваецца ў якасці вэб-кампанента ў праектах:

  • Graphite [12] — сістэма пабудовы графікаў і назірання
  • FreeNAS — свабодная рэалізацыя сістэмы захоўвання і абмену файламі і інш.

Распрацоўшчыкі

  • Расэл Кейт-Магі (англ.: Russell Keith-Magee)
  • Адрыян Галаваты (англ.: Adrian Holovaty)
  • Сайман Вілісан (англ.: Simon Willison)
  • Джэйкаб Каплан-Мос (англ.: Jacob Kaplan-Moss)
  • Уілсан Майнер (англ.: Wilson Miner)

Распрацоўшчыкі заяўляюць, што не абавязваюцца строга прытрымлівацца ніякай метадалогіі ў развіцці праекта, аддаючы перавагу таму, што здаецца ім найболей лагічным[13].

Магчымасці

Некаторыя магчымасці Django:

  • ORM, API доступ да БД з падтрымкай транзакцый[14]
  • убудаваны інтэрфейс адміністратара[15], з ужо наяўнымі перакладамі на многія мовы
  • дыспетчар URL на аснове рэгулярных выразаў[16]
  • пашыральная сістэма шаблонаў з тэгамі і наследаваннем[17]
  • сістэма кэшавання[18]
  • інтэрнацыяналізацыя[19]
  • падключальная архітэктура праграм, якія можна ўсталёўваць на любыя Django-старонкі
  • «Generic views» - шаблоны функцый кантролераў
  • аўтарызацыя і аўтэнтыфікацыя, падключэнне знешніх модуляў аўтэнтыфікацыі: LDAP, OpenID і інш.
  • сістэма фільтраў («middleware») для пабудовы дадатковых апрацоўшчыкаў запытаў, як напрыклад уключаныя ў дыстрыбутыў фільтры для кэшавання, сціску, нармалізацыі URL і падтрымкі ананімных сесій
  • бібліятэка для працы з формамі (наследаванне, пабудова форм па існуючай мадэлі БД) [20]
  • убудаваная аўтаматычная дакументацыя па тэгах шаблонаў і мадэлях даных, даступная праз адміністрацыйную праграму

Некаторыя кампаненты фрэймворка паміж сабой злучаны слаба, таму іх можна досыць проста замяняць на аналагічныя. Напрыклад, замест убудаваных шаблонаў можна выкарыстоўваць Mako ці Jinja .

У той жа час замяняць шэраг кампанентаў (напрыклад, ORM) даволі складана.

Акрамя магчымасцяў убудаваных у ядро фреймворка, існуюць пакеты, якія пашыраюць яго магчымасці. Магчымасці, якія прадстаўляюцца пакетамі, а таксама поўны пералік пакетаў зручна адсочваць праз спецыяльны рэсурс - www.djangopackages.com .

Джанга Рэйнхардт — музыка, у гонар якога фрэймворк атрымаў сваю назву

Версіі і храналогія іх выхаду

Некаторыя выпускі Django атрымліваюць статус "рэлізу з доўгатэрміновай падтрымкай" (LTS)[21]. Яны атрымліваюць абнаўленні бяспецы і абароны ад страт даных на гарантаваны перыяд часу, звычайна ад трох гадоў.

Рашэнні

На базе Django распрацаваны шэраг гатовых рашэнняў са свабоднай ліцэнзіяй[22], сярод якіх інтэрнэт-крамы, сістэмы кіравання змесцівам, а таксама больш вузканакіраваныя праекты.

Канфігурацыя сервера

Django праектаваўся для працы пад кіраваннем Apache з модулем mod python і з выкарыстаннем PostgreSQL у якасці базы даных.

З уключэннем падтрымкі WSGI, Django можа працаваць пад кіраваннем FastCGI, mod wsgi або SCGI на Apache і іншых серверах.

Зараз акрамя базы даных PostgreSQL, Django можа працаваць з іншымі СКБД: MySQL, SQLite, Microsoft SQL Server, DB2, Firebird, SQL Anywhere і Oracle .

У складзе Django прысутнічае ўласны вэб-сервер для распрацоўкі. Сервер аўтаматычна вызначае змены ў файлах зыходнага кода праектп і перазапускаецца, што паскарае працэс распрацоўкі на Python. Але пры гэтым ён працуе ў аднапаточным рэжыме і прыдатны толькі для працэсу распрацоўкі і адладкі праграмы.

Хостынг для Django

Django можна разгарнуць на PaaS-сэрвісах RedHat:

Django на хостынгу Google

Google App Engine Python[29] дазваляе выкарыстоўваць для працы любую версію Django.

Існуюць некаторыя асаблівасці пры працы з Django у Google App Engine Python 2.7.

  • Django ORM несумяшчальна са сховішчам App Engine Datastore, якое ўяўляе сабой NoSQL сховішча. Гэта ў сваю чаргу робіць абмежаванай працу пэўных функцый фрэймворка, у прыватнасці, убудаванага адміністрацыйнага інтэрфейсу[30].
  • Таксама з Django можна працаваць праз Google cloud-sql[31]. Гэта дазваляе выкарыстоўваць усе магчымасці фрэймворка, як і пры працы са звычайнымі рэляцыйнымі базамі[32].

Існуе community-версія Django-nonrel[33], адаптаваная для працы з нерэляцыйнымі сховішчамі даных, якая дазваляе паўнавартасна (наколькі гэта магчыма тэхнічна) выкарыстоўваць Django на платформе Google App Engine. А падключальная праграма django-dbindexer[34] дазваляе нават эмуляваць JOIN у нерэляцыйных сховішчах даных.

Зноскі

  1. а б http://www.djangobook.com/en/2.0/chapter01.html#django-s-history
  2. Release 6.0.8 — 2026. Праверана 5 жніўня 2026.
  3. The django Open Source Project on Open Hub: Languages Page — 2006. Праверана 18 ліпеня 2018.
    <a href="https://dokumen123.com/be/https://wikidata.org/wiki/Track:Q124688"></a>
  4. https://github.com/EvanLi/Github-Ranking/blob/master/Data/github-ranking-2025-07-06.csv — 2025.
  5. https://github.com/django/django/blob/master/LICENSE Праверана 2 верасня 2016.
  6. The django Open Source Project on Open Hub: Licenses Page — 2006. Праверана 18 ліпеня 2018.
    <a href="https://dokumen123.com/be/https://wikidata.org/wiki/Track:Q124688"></a>
  7. Django FAQ about MVC in Django. Архівавана з першакрыніцы 10 верасня 2017. Праверана 14 мая 2009.
  8. Маниакальный Веблог (Блог Ивана Сагалаева). Архівавана з першакрыніцы 30 кастрычніка 2020. Праверана 27 жніўня 2020.
  9. What Powers Instagram: Hundreds of Instances, Dozens of Technologies - Instagram Engineering. Архівавана з першакрыніцы 20 студзеня 2013. Праверана 6 студзеня 2013.
  10. Welcome, David Cramer | Disqus: The Official Blog. Архівавана з першакрыніцы 20 студзеня 2013. Праверана 6 студзеня 2013.
  11. The MDN platform (Kuma) | MDN(недаступная спасылка). Архівавана з першакрыніцы 27 студзеня 2013. Праверана 6 студзеня 2013.
  12. Working on Graphite-web. Архівавана з першакрыніцы 9 верасня 2020. Праверана 27 жніўня 2020.
  13. Django FAQ. Архівавана з першакрыніцы 10 верасня 2017. Праверана 14 мая 2009.
  14. DjangoBook. Глава 5. Работа с базой данных: Модели. Архівавана з першакрыніцы 30 верасня 2020. Праверана 27 жніўня 2020.
  15. DjangoBook. Глава 6. Интерфейс администратора Django. Архівавана з першакрыніцы 26 верасня 2020. Праверана 27 жніўня 2020.
  16. DjangoBook. Глава 3. Основы динамических страниц. Архівавана з першакрыніцы 22 кастрычніка 2020. Праверана 27 жніўня 2020.
  17. DjangoBook. Глава 10. Расширения для шаблонной системы. Архівавана з першакрыніцы 30 верасня 2020. Праверана 27 жніўня 2020.
  18. DjangoBook. Глава 13. Кэширование. Архівавана з першакрыніцы 26 верасня 2020. Праверана 27 жніўня 2020.
  19. DjangoBook. Глава 18. Интернационализация. Архівавана з першакрыніцы 30 верасня 2020. Праверана 27 жніўня 2020.
  20. Djangodoc.ru. Использование форм. Архівавана з першакрыніцы 7 кастрычніка 2020. Праверана 5 кастрычніка 2020.
  21. Django’s release process | Django documentation | Django (англ.). www.djangoproject.com. Архівавана з першакрыніцы 9 кастрычніка 2021. Праверана 4 верасня 2021.
  22. Open-Source Django projects. Архівавана з першакрыніцы 2 ліпеня 2020. Праверана 27 жніўня 2020.
  23. Pricing | OpenShift by Red Hat. Архівавана з першакрыніцы 23 студзеня 2013. Праверана 6 студзеня 2013.
  24. Rapid Python and Django App Deployment to the Cloud with a PaaS
  25. openshift / openshift-diy-py27-django(недаступная спасылка). на github
  26. openshift / django-example. Архівавана з першакрыніцы 4 жніўня 2014. на github
  27. Getting Started on Heroku with Python. Архівавана з першакрыніцы 10 мая 2018. Праверана 10 мая 2018.
  28. Deploying an existing Django project on PythonAnywhere. Архівавана з першакрыніцы 26 красавіка 2017. Праверана 25 красавіка 2017.
  29. Google App Engine Python. Архівавана з першакрыніцы 20 студзеня 2013. Праверана 4 студзеня 2013.
  30. Third-party Libraries in Python 2.7 - Google App Engine — Google Developers. Архівавана з першакрыніцы 16 студзеня 2013. Праверана 6 студзеня 2013.
  31. Google cloud-sql. Архівавана з першакрыніцы 15 студзеня 2013. Праверана 4 студзеня 2013.
  32. Django Support - Google App Engine — Google Developers. Архівавана з першакрыніцы 11 жніўня 2014. Праверана 6 студзеня 2013.
  33. Django-nonrel(недаступная спасылка).
  34. django-dbindexer(недаступная спасылка). Архівавана з першакрыніцы 9 ліпеня 2020. Праверана 27 жніўня 2020.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.