Учебное пособие по Django: Возможности, Archiтектура и история

⚡ Умное резюме

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

  • 🔘 Фреймворк: Django — это высокоуровневый инструмент. Python Фреймворк для быстрого создания сложных веб-приложений, работающих с базами данных.
  • ☑️ Archiтекстура: Паттерн Model-View-Template (MVT) позволяет Django управлять контроллером и разделять данные, логику и представление.
  • Батареи в комплекте: Встроенные функции администрирования, аутентификации, форм и интернационализации избавляют от большей части повторяющейся работы по настройке.
  • 🇧🇷 Безопасность: Защитные механизмы по умолчанию блокируют атаки CSRF, межсайтовый скриптинг, SQL-инъекции и кликджекинг.
  • 🧪 Масштаб: InstagramPinterest, Mozilla и Disqus используют Django для обработки очень большого трафика.
  • 🤖 AI: Django предоставляет модели машинного обучения в виде API, а такие помощники, как GitHub Copilot, ускоряют разработку бэкенда.

Учебник по Django для начинающих

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

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

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

Прежде чем изучать Django, давайте разберемся:

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

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

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

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

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

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

  • Django легко настроить и запустить. Он предлагает множество вариантов для начала работы.
  • Он предоставляет готовый к использованию пользовательский интерфейс для административных задач.
  • Благодаря встроенной системе интернационализации, она позволяет создавать многоязычные веб-сайты.
  • Это помогает быстро справляться с огромными объемами трафика.
  • Django используется для создания всех типов систем управления контентом, социальных сетей, а также платформ для научных вычислений.
  • Django помогает обеспечить сквозное тестирование приложений.
  • Это поможет вам задокументировать ваш API с помощью вывода в формате HTML.
  • REST-фреймворк обладает широкой поддержкой нескольких протоколов аутентификации.
  • Он предоставляет информацию о разрешениях и политике ограничения скорости.
  • Он широко используется для ограничения скорости запросов 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 помогает сделать каждый элемент своего стека независимым от других.
  • Less код – Обеспечивает эффективное развитие.
  • Не повторялось – Все следует разрабатывать в одном месте, вместо того чтобы повторять одно и то же снова и снова.
  • Быстрое развитие – Django предлагает быструю и надежную разработку приложений.
  • Последовательный дизайн – Django отличается чистым дизайном и упрощает следование лучшим практикам веб-разработки.

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

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

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

Django Archiтекстура

Django Archiтекстура

Шаблон MVC

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

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

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

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

Шаблон Django MVC-MVT

Архитектура Model-View-Template (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
  • The New York Times
  • Los Angeles Times
  • The Guardian
  • National Geographic
  • Канал Дискавери

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

Вот некоторые недостатки использования Django:

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

Часто задаваемые вопросы (FAQ)

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

Django — это готовый к использованию полнофункциональный фреймворк со встроенным ORM, панелью администрирования и аутентификацией. Flask — это легковесный микрофреймворк, который остаётся минималистичным и использует расширения для реализации тех же функций, предоставляя разработчикам больше ручного контроля.

Django ORM, или объектно-реляционный маппер, позволяет определять таблицы базы данных следующим образом: Python классы и запрашивать их с помощью Python Вместо прямого SQL-запроса используется код. Поддерживаются такие базы данных, как... PostgreSQL, MySQL, SQLite и Oracle.

Выполните команду `python -m django –version` в командной строке или откройте файл конфигурации. Python Выполните команду `shell` и `run`: `import django`, а затем `print(django.get_version())`. В обоих случаях отобразится номер установленной версии Django.

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

Практические знания Python Для работы с Django необходимы базовые знания веб-технологий, такие как HTTP, HTML и базы данных. Понимание объектно-ориентированного программирования значительно упрощает изучение моделей Django и представлений на основе классов.

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

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

Подведем итог этой публикации следующим образом: