Учебное пособие по 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:

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

Как видно на диаграмме выше, пользователь запрашивает ресурс в Django. Django действует как контроллер и проверяет доступный ресурс по URL.
Если URL-адрес сопоставлен, вызывается представление, которое взаимодействует с моделью и шаблоном. Затем Django отвечает пользователю и отправляет в ответ шаблон.
В этой серии руководств по Django для начинающих мы узнаем о компонентах Django.
Компоненты Джанго
форма для заполнения
Django имеет мощную библиотеку форм, которая обрабатывает формы в формате HTML. Библиотека помогает проверять отправленные данные и преобразовывать их в Python типы.
Аутентификация
Он обрабатывает учетные записи пользователей, группы, пользовательские сеансы на основе файлов cookie и т. д.
Админ
Он считывает метаданные в ваших моделях, чтобы предоставить надежный интерфейс, который можно использовать для управления контентом на вашем сайте.
Интернационализация
Django обеспечивает поддержку перевода текста на различные языки, форматирование дат, времени, чисел и часовых поясов в зависимости от локали.
Безопасность.
Django обеспечивает защиту от следующих атак:
- Подделка межсайтовых запросов (CSRF)
- Межсайтовый скриптинг
- SQL-инъекция
- ClickJacking
- Удаленное выполнение кода
Известные компании, использующие Django
Вот компании, которые используют Django:
- BitBucket
- Disqus
- НАСА
- PBS (Служба общественного вещания)
- 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 заключается в том, что он не может обрабатывать несколько запросов одновременно.