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

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текстура
Шаблон MVC
Когда речь заходит о приложениях, предоставляющих пользовательский интерфейс (веб или настольные приложения), мы обычно говорим об архитектуре MVC. Паттерн MVC основан на модели, представлении и контроллере.
Модель Определяет структуру данных и отвечает за выполнение запросов к базе данных.
Детали определяет, какие данные должны быть представлены, и возвращает ответ HTTP.
Контроллер Это часть приложения, которая обрабатывает взаимодействие с пользователем.
Шаблон Django MVC-MVT
Архитектура Model-View-Template (MVT) отличается от MVC. Главное различие между этими двумя архитектурными шаблонами заключается в том, что Django сам управляет контроллером (программным кодом, который контролирует взаимодействие между моделью и представлением). Шаблон представляет собой HTML-файл, смешанный с файлом языка шаблонов Django, также называемым DTL.
На приведенной ниже диаграмме показано, как все компоненты паттерна MVT взаимодействуют друг с другом для выполнения конкретного запроса пользователя.
MVT Archiтекстура
Как показано на диаграмме выше, пользователь запрашивает ресурс у Django. Django выступает в роли контроллера и проверяет наличие доступного ресурса. URL.
Если же линия индикатора URL При работе с картами вызывается представление, которое взаимодействует с моделью и шаблоном. Затем Django отвечает пользователю и отправляет шаблон в качестве ответа.
В этой серии уроков по Django для начинающих мы изучим компоненты Django.
Компоненты Джанго
форма для заполнения
Django имеет мощную библиотеку форм, которая обрабатывает формы в формате HTML. Библиотека помогает проверять отправленные данные и преобразовывать их в Python типы.
Аутентификация
Он обрабатывает учетные записи пользователей, группы, пользовательские сессии на основе файлов cookie и многое другое.
Админ
Он считывает метаданные в ваших моделях, чтобы предоставить надежный интерфейс, который можно использовать для управления контентом на вашем сайте.
Интернационализация
Django обеспечивает поддержку перевода текста на различные языки, а также форматирование дат, времени, чисел и часовых поясов с учетом региональных особенностей.
Безопасность.
Django обеспечивает защиту от следующих атак:
- Подделка межсайтовых запросов (CSRF)
- Межсайтовый скриптинг
- SQL-инъекция
- ClickJacking
- Удаленное выполнение кода
Известные компании, использующие Django
Вот компании, которые используют Django:
- Bitbucket
- Disqus
- НАСА
- PBS (Служба общественного вещания)
- Mozilla
- Washington Post
- The New York Times
- Los Angeles Times
- The Guardian
- National Geographic
- Канал Дискавери
Недостатки использования Django
Вот некоторые недостатки использования Django:
- Один процесс не может обрабатывать несколько запросов одновременно.
- Django — это очень монолитный инструмент.
- Компоненты развертываются одновременно, что может привести к путанице.
- Для работы с Django необходимы знания всей системы.
- Это приводит к тесной взаимосвязи компонентов веб-приложения.
- Вам придется долго программировать для мелких задач.


