Django вышел на сцену как раз тогда, когда пошла первая большая волна роста популярности Rails. В связи с этим его воспринимали как своеобразный «ответ» Python-а на Rails, а это, в свою очередь, обеспечило Django повышенное внимание публики уже на старте. Сегодня одним из самых больших преимуществ в изучении Python является возможность использовать Django.
В наше время создавать собственные веб-приложения стало проще и интереснее, чем когда бы то ни было. И Django вполне способен помочь вам в этом, ведь его популярность в немалой степени зиждется на его продуманном дизайне и легкости использования.
Django это высокоуровневый веб-фреймворк Python, способствующий быстрой разработке и созданию прагматичного, чистого кода. Фреймворк это набор компонентов, необходимых в любых веб-приложениях. Смысл применения фреймворков в том, что они дают разработчикам возможность фокусироваться на новых, уникальных частях своих проектов, вместо того чтобы создавать одни и те же решения бессчетное число раз.
Django функциональнее многих других фреймворков. Он избавляет разработчика от большого количества рутинных операций в веб-разработке, позволяя сосредоточиться на создании приложения и не отвлекаться на повторное изобретение велосипеда. Кроме того, Django позволяет вам моделировать ваши классы и сущности базы данных, так что вы получаете ORM еще до того, как узнаете, что это такое.
А еще этот фреймворк бесплатный, у него открытый исходный код. Давайте приглядимся поближе.
Фреймворк Django проверен временем
Если изучить этот вопрос, можно заметить, что зачастую Django оказывается в числе самых первых фреймворков, отреагировавших на обнаружение новой уязвимости. Команда этого фреймворка обычно предупреждает другие фреймворки о патчах, которые тем следует сделать.
О надежности Django можно говорить долго. И хотя никто не будет утверждать, что в этом фреймворке исправлены все баги, со многими из них команда все же расправилась. Сегодня многие релизы Django бывают сфокусированы как на новом функционале, так и на решении проблем, связанных с edge case.
Доступ к большому количеству пакетов
Сообщество Django, так же, как и сообщество Python, создает много полезных пакетов и утилит, которыми может пользоваться кто угодно. Введите «Django» на PyPI, и вы увидите больше 4 тысяч доступных пакетов, а ведь у Django и так ментальность в стиле «батарейки — в комплекте». В этом фреймворке, скорее всего, будет все, что вам может понадобиться.
Этот фреймворк постоянно проходит краудтестинг
Python и Django не настолько на слуху, как Rails и Node, которые своей известностью во многом обязаны известности своих пользователей. Это, безусловно, не означает, что Django не пользуются крупные игроки рынка. На самом деле Django стоит за многими очень популярными сайтами, такими, например, как Instagram и Pinterest. Даже Facebook использует этот фреймворк для многих операций, происходящих «за кулисами». Django изначально разрабатывался для работы с новостными публикациями, так что нет ничего удивительного в том, что его используют «The Washington Post» и «Smithsonian Magazine».
У Django прекрасная документация
Django даже на свет появился с документацией, значительно превосходящей по качеству обычный стандарт open-source проектов, а со временем его документация стала еще лучше.
При первом выходе «в люди» документация была одной из «изюминок» Django, чем-то, что выделяло его на общем фоне. Большинство фреймворков того времени имели разве что алфавитный указатель модулей, методов и атрибутов. Такую документацию хорошо использовать в качестве справочника, но она практически бесполезна, когда вы делаете свои первые шаги в использовании программы.
Сегодня документация Django уже не столь уникальна в плане качества, но она по-прежнему может служить одним из лучших образцов документирования проектов с открытым исходным кодом. И разработчики постоянно заботятся о ее поддержке.
Сообщество Django всегда готово вас поддержать
Часто говорят, что сообщество это один из лучших аспектов мира Python. То же самое, даже в превосходной степени, относится к миру Django. Этот фреймворк управляется Django Software Foundation (DSF). Каждое событие, связанное с Django, подчинено определенному кодексу поведения.
DSF публиковал заявления на тему разнообразия (диверсити), тем самым обозначив официальную позицию представляемого им сообщества.
Во многих сообществах чаты и рассылки не приветствуются, а временами они просто токсичны. Но в сообществе Django они очень приятны. Конечно, гнилые яблоки встречаются, но с ними быстро расправляются.
Благодаря тому, что в сообществе соблюдаются заведенные правила, в нем процветают группы вроде Django Girls.
Django выступает в защиту многих правил, ориентированных на SEO
Веб-разработчики и SEO-шники не всегда ладят. Работа разработчика и оптимизация продукта для поисковых движков зачастую вступают в противоречие. Применение Django снижает остроту этой проблемы.
Даже если не упоминать ни о чем другом, фреймворк Django пропагандирует использование URL, которые будет легко читать людям. Это помогает поисковым движкам, это полезно с точки зрения пользователя, а кроме того позволяет использовать ключевые слова в адресной строке, что важно для ранжирования сайтов. В общем, ваша SEO-команда будет весьма благодарна за все это.
Масштабируемость
Django, конечно, отлично подходит для старта разработки. Но при этом он на удивление хорош, когда дело доходит до масштабирования. Django по своей сути является набором готовых к использованию компонентов. Поскольку эти компоненты расцеплены, т. е., не зависят друг от друга, их можно отключать и заменять другими, когда вашему стартапу потребуются более специфические решения.
Безопасность
Django по умолчанию предотвращает многие распространенные ошибки безопасности, и делает это лучше, чем, скажем, PHP. Например, Django маскирует или скрывает исходный код вашего сайта, предотвращая его прямой просмотр в интернете. Он делает это путем динамической генерации веб-страниц и при помощи шаблонов, отправляющих информацию в браузеры.
Наконец, стоит сказать пару слов о продвижении Django на рынке. Или, скорее, об отсутствии такового в течение долгого времени. По крайней мере, Django не продвигали так, как, например, Rails.
До сравнительно недавнего времени весь маркетинг заключался в выступлениях на PyCon, упоминании Django в личных блогах разработчиков и, собственно, в использовании этого фреймворка в деле (чтобы результаты говорили сами за себя).
Сегодня, конечно, есть DjangoCon и DSF, множество книг и всего остального. Но именно вещи, перечисленные абзацем выше, способствовали росту популярности Django со времен его первого выпуска.