FAQ: Общие

Почему существует этот проект?

Django вырос из очень практической потребности: World Online, газетная веб-служба, отвечает за создание интенсивных веб-приложений в сжатые сроки. В быстро меняющейся редакции новостей World Online часто бывает всего за несколько часов, чтобы довести сложное веб-приложение от концепции до публичного запуска.

В то же время разработчики World Online Web всегда были перфекционистами в том, что касается следования лучшим практикам веб-разработки.

Осенью 2003 года разработчики World Online (Адриан Головати и Саймон Уиллисон) отказались от PHP и начали использовать Python для разработки своих веб-сайтов. По мере создания интенсивных, интерактивных сайтов, таких как Lawrence.com, они начали извлекать общую структуру веб-разработки, которая позволяла им создавать веб-приложения все быстрее и быстрее. Они постоянно меняли эту структуру, добавляя улучшения в течение двух лет.

Летом 2005 года World Online решила открыть исходный код получившегося программного обеспечения Django. Django был бы невозможен без целого ряда проектов с открытым исходным кодом - Apache , Python и PostgreSQL и многих других - и мы очень рады возможности вернуть что-то сообществу разработчиков ПО с открытым исходным кодом.

Что означает «Джанго» и как его произносить?

Джанго назван в честь Джанго Рейнхардта , джазового гитариста-мануша с 1930-х до начала 1950-х годов. По сей день он считается одним из лучших гитаристов всех времен.

Послушайте его музыку. Тебе понравится.

Django произносится как JANG -oh. Рифмуется с FANG-oh. «D» молчит.

Мы также записали аудиоклип с произношением .

Django стабилен?

Да, вполне стабильно. Такие компании, как Disqus, Instagram, Pinterest и Mozilla, уже много лет используют Django. Сайты, построенные на Django, выдерживают всплески трафика, превышающие 50 тысяч посещений в секунду.

Масштабируется ли Django?

Да. По сравнению со временем разработки, оборудование дешевое, поэтому Django спроектирован так, чтобы использовать столько оборудования, сколько вы можете на него вложить.

Django использует архитектуру «без совместного использования», что означает, что вы можете добавлять оборудование на любом уровне - серверы баз данных, серверы кэширования или веб-серверы / серверы приложений.

Платформа четко разделяет такие компоненты, как уровень базы данных и уровень приложения. И он поставляется с простой, но мощной структурой кеширования .

Кто за этим стоит?

Первоначально Django был разработан в World Online, веб-отделе газеты в Лоуренсе, штат Канзас, США. Django теперь управляется международной командой добровольцев .

Как лицензируется Django?

Django распространяется по лицензии BSD с тремя пунктами . Это лицензия с открытым исходным кодом, предоставляющая широкие права на изменение и распространение Django.

Почему Django включает файл лицензии Python?

Django включает код из стандартной библиотеки Python. Python распространяется под разрешающей лицензией с открытым исходным кодом. Копия лицензии Python включена в Django для соответствия условиям Python.

Какие сайты используют Django?

DjangoSites.org содержит постоянно растущий список сайтов на базе Django.

Django выглядит как фреймворк MVC, но вы называете контроллер «представлением», а представление - «шаблоном». Почему вы не используете стандартные имена?

Что ж, стандартные названия спорны.

В нашей интерпретации MVC «представление» описывает данные, которые представляются пользователю. Дело не в том, как данные выглядят , а в том, какие данные представлены. Представление описывает, какие данные вы видите , а не то, как вы их видите. Это тонкое различие.

Итак, в нашем случае «представление» - это функция обратного вызова Python для определенного URL-адреса, поскольку эта функция обратного вызова описывает, какие данные представлены.

Кроме того, разумно отделить контент от представления - здесь и появляются шаблоны. В Django «представление» описывает, какие данные представлены, но представление обычно делегируется шаблону, который описывает, как данные представлены.

Где же тогда «контроллер»? В случае Django это, вероятно, сама структура: машина, которая отправляет запрос в соответствующее представление в соответствии с конфигурацией URL-адреса Django.

Если вы жаждете сокращений, вы можете сказать, что Django - это фреймворк MTV, то есть «модель», «шаблон» и «представление». В этой разбивке гораздо больше смысла.

В конце концов, все сводится к тому, чтобы что-то сделать. И, независимо от того, как вещи называются, Django выполняет работу наиболее логичным для нас способом.

<Framework X> поддерживает <feature Y> - почему Django не поддерживает?

Нам хорошо известно, что существуют другие замечательные веб-фреймворки, и мы не прочь позаимствовать идеи там, где это уместно. Однако Django был разработан именно потому, что мы были недовольны существующим положением вещей, поэтому имейте в виду, что «потому что это делает <Framework X>» не будет достаточной причиной для добавления данной функции в Django.

Почему вы написали Django с нуля, а не использовали другие библиотеки Python?

Когда изначально был написан Django, Адриан и Саймон потратили немало времени на изучение различных доступных веб-фреймворков Python.

На наш взгляд, ни один из них не был полностью готов.

Мы придирчивы. Вы можете даже называть нас перфекционистами. (Со сроками.)

Со временем мы наткнулись на библиотеки с открытым исходным кодом, которые делали то, что мы уже реализовали. Было обнадеживающе видеть, что другие люди решают аналогичные проблемы аналогичными способами, но было слишком поздно интегрировать внешний код: мы уже написали, протестировали и внедрили наши собственные фреймворки в нескольких производственных условиях - и наш собственный код прекрасно удовлетворил наши потребности. .

Однако в большинстве случаев мы обнаружили, что существующие фреймворки / инструменты неизбежно имели какой-то фундаментальный фатальный недостаток, который заставлял нас проявлять брезгливость. Ни один инструмент не соответствует нашей философии на 100%.

Как мы уже сказали: мы разборчивы.

Мы задокументировали нашу философию на странице философии дизайна .

Django - это система управления контентом (CMS)?

Нет, Django - это не CMS или какой-либо продукт «под ключ» сам по себе. Это веб-фреймворк; это инструмент программирования, который позволяет создавать веб-сайты.

Например, нет большого смысла сравнивать Django с чем-то вроде Drupal , потому что Django - это то, что вы используете для создания таких вещей, как Drupal.

Да, сайт автоматического администрирования Django фантастичен и экономит время, но сайт администратора - это один из модулей инфраструктуры Django. Более того, хотя Django имеет особые удобства для создания приложений «CMS-y», это не значит, что он не подходит только для создания приложений «не-CMS-y» (что бы это ни значило!).

Как мне загрузить документацию Django, чтобы читать ее в автономном режиме?

Документация Django доступна в docsкаталоге каждого тарбола Django. Эти документы находятся в формате reST (reStructuredText), и каждый текстовый файл соответствует веб-странице на официальном сайте Django.

Поскольку документация хранится в системе контроля версий , вы можете просматривать изменения документации так же, как вы можете просматривать изменения кода.

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

Как мне процитировать Django?

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

Например, стиль APA будет диктовать что-то вроде:

Django (Version 1.5) [Computer Software]. (2013). Retrieved from https://djangoproject.com.

Однако единственное верное руководство - это то, что примет ваш издатель, поэтому получите копию этих рекомендаций и заполните пробелы как можно лучше.

Если в вашем руководстве по стилю ссылок требуется имя издателя, используйте «Django Software Foundation».

Если вам нужно место публикации, используйте «Лоуренс, Канзас».

Если вам нужен веб-адрес, используйте https://djangoproject.com .

Если вам нужно имя, просто используйте «Django» без какого-либо слогана.

Если вам нужна дата публикации, используйте год выпуска версии, на которую вы ссылаетесь (например, 2013 год для версии 1.5).

Copyright ©2021 All rights reserved