Доброго времени суток, относительно недавно я столкнулся с Фреймворком Django и хочу создать проект, в котором буду постепенно описывать работу, технологии и возможности данного Фреймворка, для общего структурирования, полученного мною, в ходе практики, информации.
Для начала стоит понять, что же все-таки такое Django. Я постараюсь кратко и обобщенно рассказать про данный Фреймворк, а за вами будет стоять выбор:
- Использовать Django
- Не использовать Django
Описание Фреймворка будет проходить по следующему плану:
- Что такое Django?
- Использование 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 позволяет писать независимые друг от друга блоки кода. Их можно менять отдельно, не затрагивая остальные. Так можно облегчить себе работу, разрабатывая только один программный компонент — независимо от остальных. Например, переписывать способ отображения данных, не трогая способ их обработки. Это очень актуально в больших компаниях.