Найти тему

Что такое Django и с чем его едят?

Оглавление

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

Для начала стоит понять, что же все-таки такое Django. Я постараюсь кратко и обобщенно рассказать про данный Фреймворк, а за вами будет стоять выбор:

  • Использовать Django
  • Не использовать Django

Описание Фреймворка будет проходить по следующему плану:

  1. Что такое Django?
  2. Использование Django.

a. Основная характеристика

b. Популярность

c. Портативность

3. Требования для изучения Django.

Что такое Django

Django – это высокоуровневый Python веб-Фреймворк (Фреймворк – кусок вспомогательного кода или программная оболочка, написанная в целях упрощения разработки приложений или сайтов другим людям), основанный на языке Python, использующий шаблон проектирования MVC (Model-View-Controller или , «Модель-Представление-Контроллер»). который позволяет быстро создавать веб-сайты.

Фреймворк Django - бесплатный с открытым исходным кодом, имеет растущее и активное сообщество, отличную документацию и множество вариантов как бесплатной, так и платной поддержки. Именно на Djangoнаписаны такие медиа гиганты как YouTube, Google, Instagram и др.

Использование Django

Основная характеристика

Django может быть использован для создания практически любого типа веб-сайтов - от систем управления контентом и wiki до социальных сетей и новостных сайтов. Он может работать с любой клиентской средой и может доставлять контент практически в любом формате.

Есть еще несколько причин использовать Фреймворк Django:

Компоненты: это легкий и автономный веб-сервер, на котором мы можем разработать и протестировать наш проект, система шаблонов, которая использует концепцию наследования из ООП, поддерживает кэширование данных в память, поддерживает структуру промежуточного программного обеспечения (легкий и низкоуровневый плагин который представляет собой систему для изменения ввода и вывода django), состоит из объектно-реляционного сопоставителя (ORM), который является посредником между классами python и реляционной базой данных, а также множеством других компонентов.

Связанные приложения: Django также включает ряд приложений в свой пакет contrib, например: динамический интерфейс администратора, расширяемую систему аутентификации, инструменты для создания Atom (веб-каналы) и RSS, инструменты для создания карт сайта Google, структура сайта, которая позволяет нам установить django только один раз и запускать несколько веб-сайтов с разным содержимым, встроенный инструмент для уменьшения межсайтовых сценариев, подделки межсайтовых запросов, SQL-инъекций, взлома пароля и смягчения других веб-атак.

Есть много других причин использовать фреймворк Django, о которых вы узнаете, изучая его.

Популятность

Основываясь на количестве крупных сайтов, которые используют Django, количестве участников и количестве людей, предоставляющих как бесплатную, так и платную поддержку, можно ответить: Django — популярный фреймворк! Django используют такие крупные сайты, как Disqus, Instagram, Knight Foundation, MacArthur Foundation, Mozilla, National Geographic, Open Knowledge Foundation, Pinterest и Open Stack. Сайты, построенные на Django, выдерживали скачки трафика более 50 тысяч посещений в секунду.

Портативность

Django написан на Python, который работает на многих платформах. Это означает, что вы не привязаны к какой-либо системе, и можете запускать приложение на Linux, Windows и Mac OS X.

Требования для изучения Django.

В первый раз я столкнулся с данным Фреймворком на производственной практике, имея нулевые знания в работе сайтов и сетей я смог довольно быстро влиться в работу вместе с Django. Но для уверенного начала работы с данным Фреймворком необходимо дополнительно изучить схему MVC, а именно нужно знать что отвечает за показ информации, отправку данных и их получение. Все остальное придет по мере использования Django.

Можно сказать что требований практически нет, только энтузиазм и труд помогут вам в развитии, даже при полном отсутствии знаний.

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

  • Модель (Model) предоставляет данные и реагирует на команды контроллера, изменяя своё состояние.
  • Представление (View) отвечает за отображение данных модели пользователю, реагируя на изменения модели.
  • Контроллер (Controller) интерпретирует действия пользователя, оповещая модель о необходимости изменений.

Модель MVC
Модель MVC

Но возникает вопрос: Зачем нам знать что такое MVC?

Ответ: Нада!

Модель MVC позволяет писать независимые друг от друга блоки кода. Их можно менять отдельно, не затрагивая остальные. Так можно облегчить себе работу, разрабатывая только один программный компонент — независимо от остальных. Например, переписывать способ отображения данных, не трогая способ их обработки. Это очень актуально в больших компаниях.