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

Веб-фреймворк Python

Оригинальный автор(ы)Адриан Головатый , Саймон Уиллисон
Разработчик(и)Фонд программного обеспечения Django [1]
Первоначальный выпуск21 июля 2005 г. ; 19 лет назад [2] ( 2005-07-21 )
Стабильный релиз
5:5.1.5 [3] / 14 января 2025 г. ; 17 дней назад ( 14 января 2025 г. )
Репозиторий
  • github.com/django/django
Написано вПитон [1]
Размер8,9 МБ [4]
ТипВеб-фреймворк [1]
Лицензия3-пунктный BSD [5]
Веб-сайтwww.djangoproject.com 

Django ( / ˈ æ ŋ ɡ / JANG -goh ; иногда стилизуется как django ) [6] — это бесплатный веб-фреймворк с открытым исходным кодом , работающий на Python и работающий на веб-сервере. Он следует архитектурному шаблону «модель–шаблон–представления» (MTV) . [7] [8] Он поддерживается Django Software Foundation (DSF), независимой организацией, созданной в США как некоммерческая организация 501(c)(3) .

Основная цель Django — облегчить создание сложных веб-сайтов, управляемых базами данных. Фреймворк делает упор на повторное использование и «подключаемость» компонентов, меньше кода, низкую связанность, быструю разработку и принцип « не повторяйся» . [9] Python используется повсюду, даже для настроек, файлов и моделей данных . Django также предоставляет дополнительный административный интерфейс создания, чтения, обновления и удаления , который динамически генерируется посредством интроспекции и настраивается посредством моделей администратора.

Некоторые известные сайты, использующие Django, включают Instagram , [10] Mozilla , [11] Disqus , [12] Bitbucket , [13] Nextdoor , [14] и Clubhouse . [15]

История

Django был создан осенью 2003 года, когда веб-программисты газеты Lawrence Journal-World Адриан Головатый и Саймон Уиллисон начали использовать Python для создания приложений. Якоб Каплан-Мосс был нанят на раннем этапе разработки Django, незадолго до окончания стажировки Уиллисона. [16] Он был выпущен публично под лицензией BSD в июле 2005 года. Фреймворк был назван в честь гитариста Джанго Рейнхардта . [17] Головатый — цыганский джазовый гитарист, вдохновлённый отчасти музыкой Рейнхардта. [18]

В июне 2008 года было объявлено, что недавно созданная организация Django Software Foundation (DSF) будет поддерживать Django в будущем. [19]

Функции

Компоненты

Скриншот интерфейса администратора Django для изменения учетной записи пользователя

Несмотря на наличие собственной номенклатуры, например, именование вызываемых объектов, генерирующих HTTP- ответы, «представлениями» [7] , ядро ​​фреймворка Django можно рассматривать как архитектуру MVC . [8] Оно состоит из объектно-реляционного преобразователя (ORM), который выступает посредником между моделями данных (определяемыми как классы Python) и реляционной базой данныхМодель »), системы обработки HTTP-запросов с системой веб-шаблоновВид ») и диспетчера URL на основе регулярных выраженийКонтроллер »).

В базовую структуру также включены:

  • легкий и автономный веб-сервер для разработки и тестирования
  • система сериализации и проверки форм , которая может преобразовывать HTML- формы в значения, пригодные для хранения в базе данных
  • система шаблонов, использующая концепцию наследования , заимствованную из объектно-ориентированного программирования
  • фреймворк кэширования , который может использовать любой из нескольких методов кэширования
  • поддержка классов промежуточного программного обеспечения , которые могут вмешиваться на различных этапах обработки запросов и выполнять пользовательские функции
  • внутренняя диспетчерская система, которая позволяет компонентам приложения сообщать друг другу о событиях с помощью предопределенных сигналов
  • система интернационализации , включающая переводы собственных компонентов Django на различные языки
  • система сериализации , которая может создавать и читать XML и/или JSON- представления экземпляров модели Django
  • система расширения возможностей шаблонизатора
  • интерфейс к встроенной в Python платформе модульного тестирования

Связанные приложения

Основной дистрибутив Django также объединяет ряд приложений в своем пакете «contrib», в том числе:

  • расширяемая система аутентификации
  • динамический административный интерфейс
  • инструменты для создания каналов синдикации RSS и Atom
  • фреймворк «Сайты», позволяющий одной установке Django запускать несколько веб-сайтов, каждый со своим собственным контентом и приложениями
  • инструменты для создания Sitemaps
  • Встроенная защита от подделки межсайтовых запросов , межсайтового скриптинга , SQL-инъекций , взлома паролей и других типичных веб-атак, большинство из которых включены по умолчанию [20] [21]

Расширяемость

Система конфигурации Django позволяет подключать сторонний код к обычному проекту, при условии, что он соответствует соглашениям о повторно используемых приложениях [22] . Для расширения исходного поведения фреймворка доступно более 5000 пакетов [23] , предоставляющих решения для проблем, которые не решал исходный инструмент: регистрация, поиск, предоставление и использование API , CMS и т. д.

Однако эта расширяемость смягчается зависимостями внутренних компонентов. Хотя философия Django подразумевает слабую связанность, [24] фильтры шаблонов и теги предполагают реализацию одного движка, а как auth, так и admin bundled applications требуют использования внутреннего ORM . Ни один из этих фильтров или bundled apps не является обязательным для запуска проекта Django, но повторно используемые приложения, как правило, зависят от них, побуждая разработчиков продолжать использовать официальный стек, чтобы в полной мере воспользоваться экосистемой приложений.

Серверные договоренности

Django может работать совместно с Apache , Nginx с использованием WSGI , Gunicorn или Cherokee с использованием flup (модуль Python). [25] [26] Django также включает возможность запуска сервера FastCGI , что позволяет использовать его за любым веб-сервером, поддерживающим FastCGI, например Lighttpd или Hiawatha . Также возможно использовать другие веб-серверы, совместимые с WSGI . [27] Django официально поддерживает пять бэкэндов баз данных: PostgreSQL , MySQL , MariaDB , SQLite и Oracle . [28] Microsoft SQL Server можно использовать с django-mssql, в то время как аналогичные внешние бэкэнды существуют для IBM Db2 , [29] SQL Anywhere [30] и Firebird . [31] Существует ответвление под названием django-nonrel, которое поддерживает базы данных NoSQL , например MongoDB и Google App Engine Datastore. [32]

Django также может быть запущен совместно с Python на любом сервере приложений Java EE, таком как GlassFish или JBoss . В этом случае необходимо установить django-jython, чтобы предоставить драйверы JDBC для подключения к базе данных, которые также могут предоставить функциональность для компиляции Django в .war, подходящий для развертывания. [33]

История версий

Команда Django время от времени будет обозначать определенные релизы как релизы с «долгосрочной поддержкой» (LTS). [34] В релизах LTS будут применяться исправления безопасности и потери данных в течение гарантированного периода времени, обычно 3+ года, независимо от темпов последующих релизов.


ВерсияДата выпуска [35]Окончание основной поддержкиОкончание расширенной поддержкиПримечания [36]
Старая версия, больше не поддерживается:0,90 [37]16 ноября 2005 г.
Старая версия, больше не поддерживается:0,91 [38]11 января 2006 г."новый-админ"
Старая версия, больше не поддерживается:0,95 [39]29 июля 2006 г."магическое удаление"
Старая версия, больше не поддерживается:0,96 [40]23 марта 2007 г."newforms", инструменты тестирования
Старая версия, больше не поддерживается:1.0 [41]3 сентября 2008 г.Стабильность API, раздельное администрирование, юникод
Старая версия, больше не поддерживается:1.1 [42]29 июля 2009 г.Агрегаты, тесты на основе транзакций
Старая версия, больше не поддерживается:1.2 [43]17 мая 2010 г.Несколько подключений к БД, CSRF , проверка модели
Старая версия, больше не поддерживается:1.3 [44]23 марта 2011 г.23 марта 2012 г.26 февр. 2013 г.Представления на основе классов, статические файлы
Старая версия, больше не поддерживается:1.4 ДТС [45]23 марта 2012 г.26 февр. 2013 г.1 окт. 2015 г.Часовые пояса, тестирование браузеров, шаблоны приложений.
Старая версия, больше не поддерживается:1.5 [46]26 февр. 2013 г.6 ноября 2013 г.2 сен 2014Поддержка Python 3, настраиваемая модель пользователя
Старая версия, больше не поддерживается:1.6 [47]6 ноября 2013 г.2 сен 20141 апреля 2015 г.Посвящается Малкольму Трединнику, менеджеру по управлению транзакциями в базе данных, пулу соединений.
Старая версия, больше не поддерживается:1.7 [48]2 сен 20141 апреля 2015 г.1 декабря 2015 г.Миграции, загрузка и настройка приложений.
Старая версия, больше не поддерживается:1.8 ДТС [49]1 апреля 2015 г.1 декабря 2015 г.1 апреля 2018 г.Собственная поддержка нескольких шаблонизаторов. Поддержка прекращена 1 апреля 2018 г.
Старая версия, больше не поддерживается:1.9 [50]1 декабря 2015 г.1 авг. 2016 г.4 апреля 2017 г.Автоматическая проверка пароля. Новый стиль для интерфейса администратора.
Старая версия, больше не поддерживается:1.10 [51]1 авг. 2016 г.4 апреля 2017 г.2 декабря 2017 г.Полнотекстовый поиск для PostgreSQL. Новое промежуточное ПО.
Старая версия, больше не поддерживается:1.11 ДТС [52]4 апреля 2017 г.2 декабря 2017 г.1 апреля 2020 г.Последняя версия с поддержкой Python 2.7. Поддержка прекращена 1 апреля 2020 г.
Старая версия, больше не поддерживается:2.0 [53]2 декабря 2017 г.1 авг. 2018 г.1 апреля 2019 г.Первый релиз только для Python 3, упрощенный синтаксис маршрутизации URL, удобное для мобильных устройств администрирование.
Старая версия, больше не поддерживается:2.1 [54]1 авг. 2018 г.1 апреля 2019 г.2 декабря 2019 г.Разрешение на просмотр модели.
Старая версия, больше не поддерживается:2.2 ДТС [55]1 апреля 2019 г.2 декабря 2019 г.11 апреля 2022 г.Выпуск по безопасности.
Старая версия, больше не поддерживается:3.0 [56]2 декабря 2019 г.3 авг. 2020 г.6 апреля 2020 г.Поддержка ASGI
Старая версия, больше не поддерживается:3.1 [57]4 авг. 2020 г.6 апреля 2020 г.7 дек. 2021 г.Асинхронные представления и промежуточное ПО
Старая версия, больше не поддерживается:3.2 ДТС [58]6 апреля 2021 г.7 дек. 2021 г.Апрель 2024 г.Отслеживание связей «многие ко многим», добавлена ​​поддержка Python 3.11
Старая версия, больше не поддерживается:4.0 [59]7 дек. 2021 г.3 авг. 2022 г.Апрель 2023 г.Поддержка pytzв настоящее время устарела и будет удалена в Django 5.0.
Старая версия, больше не поддерживается:4.1 [60]3 авг. 2022 г.Апрель 2023 г.Декабрь 2023 г.Асинхронный интерфейс ORM, CSRF_COOKIE_MASKEDнастройка, вывод формы, типа{{ form }}
Старая версия, которая все еще поддерживается:4.2 ДТС [61]3 апреля 2023 г.Декабрь 2023 г.Апрель 2026 г.Поддержка Psycopg 3, ENGINEтак как django.db.backends.postgresqlподдерживает обе библиотеки.
Старая версия, которая все еще поддерживается:5.0 [62]4 дек 2023Август 2024 г.Апрель 2025 г.Фильтры фасетов в админке, упрощенные шаблоны для отображения полей формы
Последняя версия: 5.1 [63]7 авг. 2024 г.Апрель 2025 г.Декабрь 2025 г.Добавлена ​​поддержка Python 3.13. Добавлена ​​поддержка пулов соединений PostgreSQL.
Легенда:
Неподдерживаемая версия
Старая версия, все еще поддерживается
Последняя версия
Последняя предварительная версия
Будущий релиз

ДжангоКон

Существует полугодовая конференция для разработчиков и пользователей Django, называемая «DjangoCon», которая проводится с сентября 2008 года. DjangoCon проводится ежегодно в Европе, в мае или июне; [64] а еще одна проводится в Соединенных Штатах в августе или сентябре, в разных городах. [65] DjangoCon 2012 года прошел в Вашингтоне, округ Колумбия, с 3 по 8 сентября. DjangoCon 2013 года прошел в Чикаго в отеле Hyatt Regency, а спринты после конференции проводились в Digital Bootcamp, центре компьютерной подготовки. [66] DjangoCon US 2014 года вернулся в Портленд , штат Орегон, с 30 августа по 6 сентября. DjangoCon US 2015 года прошел в Остине , штат Техас, с 6 по 11 сентября в AT&T Executive Center. DjangoCon US 2016 года прошёл в Филадельфии, штат Пенсильвания, в школе Уортона Пенсильванского университета с 17 по 22 июля. [67] DjangoCon US 2017 года прошёл в Спокане, штат Вашингтон; [68] в 2018 году DjangoCon US прошёл в Сан-Диего, штат Калифорния. [69] DjangoCon US 2019 года снова прошёл в Сан-Диего, штат Калифорния, с 22 по 27 сентября. DjangoCon 2021 года прошёл виртуально, а в 2022 году DjangoCon US вернулся в Сан-Диего с 16 по 21 октября. DjangoCon US 2023 прошёл с 16 по 20 октября в конференц-центре Дарема , штат Северная Каролина, а DjangoCon US 2024 должен вернуться в Дарем с 22 по 27 сентября. [70] [71]

Мини-конференции Django обычно проводятся каждый год в рамках Австралийской конференции Python «PyCon AU». [72] Ранее эти мини-конференции проводились в:

  • Хобарт , Австралия, в июле 2013 года,
  • Брисбен , Австралия, в августе 2014 и 2015 гг.,
  • Мельбурн , Австралия в августе 2016 и 2017 годов, и
  • Сидней , Австралия, в августе 2018 и 2019 годов.

Django породил группы пользователей и встречи по всему миру, наиболее заметной группой является организация Django Girls , которая зародилась в Польше, но теперь проводит мероприятия в 91 стране. [73] [74] [75]

Порты на другие языки

Программисты перенесли дизайн шаблонизатора Django с Python на другие языки, обеспечив пристойную кроссплатформенную поддержку. Некоторые из этих вариантов являются более прямыми портами; другие, хотя и вдохновлены Django и сохраняют его концепции, позволяют себе отклоняться от дизайна Django:

CMS на основе Django Framework

Django как фреймворк способен построить полноценную CMS , однако существуют специализированные проекты CMS, которые построены на основе фреймворка Django и расширяют его. Ниже приведен список некоторых наиболее популярных CMS на основе Django:

Смотрите также

Ссылки

  1. ^ abc "django/README". GitHub . Получено 8 сентября 2020 г. .
  2. ^ "Django FAQ" . Получено 27 марта 2019 .
  3. ^ "Release 5.1.5". 14 января 2025 г. Получено 22 января 2025 г.
  4. ^ "Django Download" . Получено 7 августа 2020 г. .
  5. ^ "django/LICENSE". GitHub . Получено 8 сентября 2020 г. .
  6. ^ "FAQ: Общие - Документация Django - Django" . Получено 30 апреля 2016 г. .
  7. ^ ab "FAQ: Общие - Документация Django - Django" . Получено 30 апреля 2016 г. .
  8. ^ ab Адриан Головатый, Джейкоб Каплан-Мосс; и др. Книга о Django. Архивировано из оригинала 2 сентября 2016 г. Получено 3 сентября 2013 г. Django достаточно точно следует этому шаблону MVC, чтобы его можно было назвать фреймворком MVC
  9. ^ "Философии дизайна". Django . Получено 18 марта 2018 .
  10. ^ «Что движет Instagram: сотни примеров, десятки технологий». Instagram Engineering .
  11. ^ "Python". Mozilla Developer Network . Архивировано из оригинала 8 февраля 2012 года . Получено 30 апреля 2016 года .
  12. ^ Робенолт, Мэтт. «Масштабирование Django до 8 миллиардов просмотров страниц». blog.disqus.com .
  13. ^ "DjangoSuccessStoryBitbucket – Django". Архивировано из оригинала 20 апреля 2016 г. Получено 30 апреля 2016 г.
  14. ^ «Анти-Facebook: каждый четвертый американский район теперь использует эту частную социальную сеть». The Verge . 18 августа 2014 г. Получено 16 июня 2016 г.
  15. ^ Деми, Люк (15 августа 2021 г.). «Укрощение громоподобного стада ⛈ Достижение 80% загрузки ЦП с помощью Django». Блог Clubhouse . Получено 16 августа 2021 г.
  16. ^ Уиллисон, Саймон . «Какова история веб-фреймворка Django? Почему его описывают как «разработанный в редакции»?». Quora . Получено 18 октября 2019 г.
  17. ^ "Введение в Джанго". Книга о Джанго. Архивировано из оригинала 29 июля 2018 года . Получено 29 июля 2018 года .
  18. ^ "Обзор: игривая и точная "мелодичная гитарная музыка" Адриана Головатого". Акустическая гитара . 12 декабря 2023 г. Архивировано из оригинала 30 декабря 2023 г.
  19. ^ "Анонс Django Software Foundation - Веблог - Django" . Получено 30 апреля 2016 г. .
  20. ^ "Безопасность в Django". Проект Django . Получено 25 марта 2013 г.
  21. ^ Сокол, Джеймс (2012). «Лучшие базовые методы обеспечения безопасности (особенно с Django)» . Получено 25 марта 2013 г.
  22. ^ "Что такое повторно используемое приложение? — django-reusable-app-docs 0.1.0 documentation" . Получено 30 апреля 2016 г. .
  23. ^ "Список пакетов API Django Packages" . Получено 17 апреля 2023 г. .
  24. ^ "Философии дизайна - Документация Django - Django". Архивировано из оригинала 4 марта 2016 года . Получено 30 апреля 2016 года .
  25. ^ "Django documentation of deployment". Архивировано из оригинала 11 января 2012 года.
  26. ^ "Cherokee Web Server - Cookbook Setting up Django - Cherokee Documentation" . Получено 30 апреля 2016 г. .
  27. ^ Как использовать Django с Apache и mod_wsgi Архивировано 8 марта 2013 г. на Wayback Machine . Официальная документация Django.
  28. ^ "Django documentation". Django documentation . Получено 9 июня 2023 г. .
  29. ^ ibmdb. "GitHub - ibmdb/python-ibmdb: Автоматически экспортировано из code.google.com/p/ibm-db". GitHub . Получено 30 апреля 2016 г. .
  30. ^ "Архив Google Code - Долгосрочное хранилище для хостинга проектов Google Code" . Получено 30 апреля 2016 г.
  31. ^ maxirobaina. "GitHub - maxirobaina/django-firebird: Firebird SQL backend для django". GitHub . Получено 30 апреля 2016 г. .
  32. ^ "Django non-rel" . Получено 30 апреля 2016 г. .
  33. ^ beachmachine. "GitHub - beachmachine/django-jython: Бэкенды и расширения баз данных для разработки Django поверх Jython". GitHub . Получено 30 апреля 2016 г. .
  34. ^ "Процесс выпуска Django - Документация Django - Django" . Получено 30 апреля 2016 г. .
  35. ^ "Загрузить Django - Django". www.djangoproject.com .
  36. ^ "FAQ: Установка - Документация Django - Django". docs.djangoproject.com .
  37. ^ "Введение в Django 0.90". Веблог Django. Получено 2 февраля 2013 г.
  38. ^ "Django 0.91 released". Веблог Django. Получено 2 февраля 2013 г.
  39. ^ "Введение в Django 0.95". Веблог Django. Получено 2 февраля 2013 г.
  40. ^ "Announcing Django 0.96!". Веблог Django. Получено 2 февраля 2013 г.
  41. ^ "Django 1.0 released!". Веблог Django. Получено 2 февраля 2013 г.
  42. ^ "Django 1.1 released". Веблог Django. Получено 2 февраля 2013 г.
  43. ^ "Django 1.2 released". Веблог Django. Получено 2 февраля 2013 г.
  44. ^ "Django 1.3 released". Веблог Django. Получено 2 февраля 2013 г.
  45. ^ "Django 1.4 released". Веблог Django. Получено 2 февраля 2013 г.
  46. ^ "Django 1.5 released" Веблог Django. Получено 27 февраля 2013 г.
  47. ^ "Django 1.6 released" Веблог Django. Получено 6 ноября 2013 г.
  48. ^ "Django 1.7 released" Веблог Django. Получено 4 сентября 2014 г.
  49. ^ "Django 1.8 released" Веблог Django. Получено 2 апреля 2015 г.
  50. ^ "Django 1.9 released" Веблог Django. Получено 1 декабря 2015 г.
  51. ^ "Django 1.10 released" Веблог Django. Получено 1 августа 2016 г.
  52. ^ "Django 1.11 released" Веблог Django. Получено 4 апреля 2017 г.
  53. ^ "Django 2.0 released" Веблог Django. Получено 3 декабря 2017 г.
  54. ^ "Django 2.1 released" Веблог Django. Получено 2 августа 2018 г.
  55. ^ Заметки о выпуске Django 2.2. Получено 1 июля 2019 г.
  56. ^ Заметки о выпуске Django 3.0. Получено 2 декабря 2019 г.
  57. ^ Заметки о выпуске Django 3.1. Получено 5 августа 2020 г.
  58. ^ "Заметки о выпуске Django 3.2". 6 апреля 2021 г. Получено 7 июня 2021 г.
  59. ^ "Заметки о выпуске Django 4.0". 7 декабря 2021 г. Получено 4 августа 2022 г.
  60. ^ "Заметки о выпуске Django 4.1". 3 августа 2022 г. Получено 4 августа 2022 г.
  61. ^ "Django 4.2 release notes" . Получено 4 августа 2022 г. .
  62. ^ "Заметки о выпуске Django 5.0". 4 декабря 2023 г. Получено 4 декабря 2023 г.
  63. ^ "Заметки о выпуске Django 5.1". 7 августа 2024 г. Получено 8 августа 2024 г.
  64. ^ Серия DjangoCon EU Архивировано 4 марта 2016 г. на Wayback Machine , Lanyrd.com
  65. ^ Серия DjangoCon в США. Архивировано 2 апреля 2016 г. на Wayback Machine , Lanyrd.com.
  66. ^ "DjangoCon". DjangoCon. Архивировано из оригинала 5 августа 2012 года . Получено 29 июля 2012 года .
  67. ^ "DjangoCon". DjangoCon . Получено 1 декабря 2016 .
  68. ^ "ДжангоКон". ДжангоКон.
  69. ^ "ДжангоКон". ДжангоКон.
  70. ^ "О DjangoCon US 2023". DjangoCon US . Получено 17 июля 2024 г. .
  71. ^ "О DjangoCon US". DjangoCon US . Получено 17 июля 2024 г. .
  72. ^ DjangoCon AU. Djangocon.com.au. Получено 16.12.2019.
  73. ^ «Рожденный Лоуренсом Django, который произвел революцию в создании веб-сайтов, отмечает свой 10-летний юбилей». Lawrence Journal-World . 9 июля 2015 г. Получено 18 октября 2019 г.
  74. ^ "Django Girls - начните свой путь с программирования" . Получено 21 октября 2019 г. .
  75. ^ "Группы Джанго". Встреча .
  76. ^ Shopify. "– Язык шаблонов Liquid". Язык шаблонов Liquid .
  77. ^ "Template::Swig - Perl-интерфейс для шаблонизатора Swig, вдохновлённого Django. - metacpan.org". metacpan.org .
  78. ^ Symfony. "Главная - Twig - Гибкий, быстрый и безопасный PHP-шаблонизатор". twig.sensiolabs.org . Архивировано из оригинала 9 июля 2017 г. Получено 10 декабря 2014 г.
  79. ^ "twigjs/twig.js". GitHub .
  80. ^ "Добро пожаловать - Jinja2 (Шаблоностроитель Python)". jinja.pocoo.org .
  81. ^ "erlydtl/erlydtl". GitHub .
  82. ^ "django CMS - Управление корпоративным контентом с помощью Django - django CMS". www.django-cms.org . Получено 11 ноября 2020 г. .

Библиография

  • Джайсвал, Санджив; Кумар, Ратан (22 июня 2015 г.), Learning Django Web Development (1-е изд.), Packt, стр. 405, ISBN 978-1783984404
  • Равиндран, Арун (31 марта 2015 г.), Шаблоны проектирования Django и передовой опыт (1-е изд.), Packt, стр. 180, ISBN 978-1783986644
  • Осборн, Трейси (май 2015 г.), Hello Web App (1-е изд.), Трейси Осборн, стр. 142, ISBN 978-0986365911
  • Бендорайтис, Айдас (октябрь 2014 г.), Web Development with Django Cookbook (1-е изд.), Packt, стр. 294, ISBN 978-1783286898
  • Баумгартнер, Питер; Малет, Янн (2015), High Performance Django (1-е изд.), Lincoln Loop, стр. 184, ISBN 978-1508748120
  • Элман, Джулия; Лавин, Марк (2014), Lightweight Django (1-е изд.), O'Reilly Media, стр. 246, ISBN 978-1491945940
  • Персиваль, Гарри (2014), Разработка через тестирование с использованием Python (1-е изд.), O'Reilly Media, стр. 480, ISBN 978-1449364823, заархивировано из оригинала 16 июля 2017 г. , извлечено 26 октября 2014 г.
  • Официальный сайт
Взято с "https://en.wikipedia.org/w/index.php?title=Django_(web_framework)&oldid=1272130340"