Учебное пособие по Django для начинающих: возможности, Archiтектура и история

Краткое описание руководства по Django

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

Что такое веб-фреймворк?

Веб-фреймворк — это библиотека кода, которая помогает вам создать гибкую, масштабируемую и поддерживаемую систему; динамический веб-сайт, веб-приложение и веб-сервисы. Различные веб-фреймворки: Zend для PHP, Рубин на рельсах для Руби и т. д.

Что такое Джанго?

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

Почему Джанго? Ключевые преимущества Джанго

Вот основные преимущества Джанго:

  • Django легко настроить и запустить. Он предлагает множество вариантов для начала работы.
  • Он предоставляет готовый к использованию пользовательский интерфейс для административных действий.
  • Он позволяет создавать многоязычные веб-сайты, используя встроенную систему интернационализации.
  • Помогает вам быстро удовлетворить потребности в массовом трафике.
  • Django используется для создания всех типов систем управления контентом, социальных сетей, а также платформ научных вычислений.
  • Django помогает вам обеспечить комплексное тестирование приложений.
  • Помогает вам документировать ваш API с помощью вывода HTML.
  • REST Framework имеет богатую поддержку нескольких протоколов аутентификации.
  • Разрешения и политики регулирования
  • Он широко используется для ограничения скорости запросов API от одного пользователя.

История Джанго

Год Вехи
2003 Проект был начат Адианом Головатым и Саймоном Уиллисоном как внутренний проект газеты Lawrence Journal-World.
Июль 2005 Он был выпущен в июле 2005 года как «Django», названный в честь джазового гитариста Джанго Рейнхарда.
Июнь 2008 Заявлено, что программное обеспечение Django Foundation (DSF) будет поддерживать Django.
29 июля 2009 Версия Django 1.1 была выпущена с такими функциями, как агрегаты и тесты на основе транзакций.
17 мая 2010 Выпущена версия Django 1.2. Обновление предлагает такие функции, как несколько баз данных, реализация серверной части электронной почты и улучшения для сеансов и файлов cookie.
Март 23 2011 Версия 1.3 с такими функциями, как представления на основе классов и статические файлы.
Март 23 2012 Выпущена версия 1.4 с новыми функциями, такими как часовые пояса и тестирование в браузере.
Февраль 26 2013 Версия 1.5 поставляется с Python 3 Поддержка настраиваемых функций модели пользователя.
6 ноября 2013 Версия 1.6 включает управление транзакциями БД и функции пула соединений.
2 сентября 2014 Версия 1.7 имела новые функции, такие как загрузка приложений, миграция и настройка.
1 апреля 2015 года. встроенная поддержка нескольких механизмов шаблонов.
1 Dec 2015 В версии 1.9 появилась функция автоматической проверки пароля.
Август 1 2016 В версии 1.10 полнотекстовый поиск PostgreSQL запущен.
4 апреля 2017 года. Версия 1.11 становится последней поддерживаемой версией Python 2.7
2 Dec 2017 версия 2.0 становится первой версией, предназначенной только для Python 3.
Август 1 2018 Версия 2.1 поставляется с функцией поддержки разрешений на просмотр модели.
2021 Удалена поддержка Django 3.0 и добавлена ​​поддержка Django 3.2.

Теперь в этом уроке Django для начинающих давайте узнаем о возможностях Django.

Особенности Django

Ниже приведены особенности Django:

  • Помогает вам определить шаблоны для URL-адресов в вашем приложении.
  • Простая, но мощная система URL-адресов
  • Встроенная система аутентификации
  • База данных объектно-ориентированного языка программирования, обеспечивающая лучшее в своем классе хранение и извлечение данных.
  • Функция автоматического интерфейса администратора позволяет добавлять, редактировать и удалять элементы. Вы можете настроить панель администратора по своему усмотрению.
  • Платформа кэширования поставляется с несколькими механизмами кэширования.

Теперь в этом руководстве по фреймворку Django мы узнаем о характеристиках Django.

Характеристики Джанго

Вот основные характеристики Джанго:

  • Слабосвязанный — Django помогает вам сделать каждый элемент своего стека независимым от других.
  • Less код- Обеспечивает эффективное развитие
  • Не повторяется. Все должно разрабатываться ровно в одном месте, а не повторяться снова.
  • Быстрая разработка. Django предлагает быструю и надежную разработку приложений.
  • Последовательный дизайн. Django поддерживает чистый дизайн и позволяет легко следовать лучшим практикам веб-разработки.

Далее в этом уроке для начинающих по Django мы узнаем об архитектуре Django.

Django Archiтектура: MVC и MVT

Ниже представлена ​​подробная архитектура Django:

Django Archiтекстура
Django Archiтекстура

Шаблон MVC

Говоря о приложениях, предоставляющих пользовательский интерфейс (веб или настольный компьютер), мы обычно говорим об архитектуре MVC. Шаблон MVC основан на модели, представлении и контроллере.

Территория Модель определяет структуру данных и заботится о запросах к базе данных.

Территория Просмотр определяет, какие данные должны быть представлены, и возвращает ответ HTTP.

Территория Контроллер это та часть приложения, которая обрабатывает взаимодействие с пользователем.

Шаблон Django MVC-MVT

Модель-представление-шаблон (MVT) — это другая концепция по сравнению с MVC. Основное различие между этими двумя архитектурными шаблонами заключается в том, что Django сам управляет частью контроллера (программный код, который управляет взаимодействием между моделью и представлением). Шаблон представляет собой HTML-файл, смешанный с файлом языка шаблонов Django, который также называется DTL.

На диаграмме ниже показано, как все компоненты шаблона MVT взаимодействуют друг с другом, выполняя конкретный запрос пользователя.

Django Archiтектура: MVC и MVT

MVT Archiтекстура

Как видно на диаграмме выше, пользователь запрашивает ресурс в Django. Django действует как контроллер и проверяет доступный ресурс по URL.

Если URL-адрес сопоставлен, вызывается представление, которое взаимодействует с моделью и шаблоном. Затем Django отвечает пользователю и отправляет в ответ шаблон.

В этой серии руководств по Django для начинающих мы узнаем о компонентах Django.

Компоненты Джанго

форма для заполнения

Django имеет мощную библиотеку форм, которая обрабатывает формы в формате HTML. Библиотека помогает проверять отправленные данные и преобразовывать их в Python типы.

Аутентификация

Он обрабатывает учетные записи пользователей, группы, пользовательские сеансы на основе файлов cookie и т. д.

Админ

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

Интернационализация

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

Безопасность.

Django обеспечивает защиту от следующих атак:

  • Подделка межсайтовых запросов (CSRF)
  • Межсайтовый скриптинг
  • SQL-инъекция
  • ClickJacking
  • Удаленное выполнение кода

Известные компании, использующие Django

Вот компании, которые используют Django:

  • BitBucket
  • Disqus
  • НАСА
  • PBS (Служба общественного вещания)
  • Pinterest
  • Instagram
  • Mozilla
  • Washington Post
  • NY Times
  • LA Times
  • Гардиан National Geographic
  • Канал Дискавери

Недостатки использования Django

  • Процесс не может обрабатывать несколько запросов одновременно.
  • Django — очень монолитный инструмент.
  • Компоненты развертываются вместе, что может создать путаницу.
  • Знание всей системы, необходимое для работы с Django
  • Делает компоненты веб-приложения тесно связанными.
  • Вам придется долго программировать для мелких задач.

Резюме

  • Django — это платформа веб-разработки для Python который предлагает стандартный метод быстрой и эффективной разработки веб-сайтов.
  • Django был запущен Адианом Головатым и Саймоном Уиллисоном как внутренний проект газеты Lawrence Journal-World в 2003 году.
  • Django помогает вам документировать ваш API с помощью вывода HTML.
  • Django позволяет вам настроить панель администратора в соответствии с вашими потребностями.
  • Django помогает вам сделать каждый элемент стека независимым от других.
  • Основное различие между архитектурными шаблонами MVC и MVT заключается в том, что Django сам управляет частью контроллера.
  • Основными компонентами архитектуры Django являются: форма, аутентификация, администрирование, интернационализация, безопасность.
  • Bitbucket, DISQUS, Nasa, Pinterest, Instagram, Mozilla и т. д. используют Django
  • Самый большой недостаток Django заключается в том, что он не может обрабатывать несколько запросов одновременно.