FAQ: общие

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

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

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

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

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

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

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

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

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

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

Django стабилен?

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

Есть ли у Django возможность масштабирования?

Да. Аппаратное обеспечение дешево по сравнению со временем разработки, поэтому 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 выполняет работу наиболее логичным для нас способом.

<System X> содержит <функциональность Y> - почему Django этого не делает?

Нам хорошо известно, что существуют другие замечательные веб-приложения, и мы не прочь позаимствовать идеи там, где это уместно. Однако Django был разработан именно потому, что мы были недовольны статус-кво, поэтому имейте в виду, что «потому что <System 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?

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

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

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

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

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

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

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

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

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

Copyright ©2020 All rights reserved