Django Урок за начинаещи: Характеристики, Archiструктура и история

Резюме на урока по Django

Този урок за Django обхваща всички основни теми от нулата. В този урок ще научите понятия като какво е Django, история на Django, функции на Django, характеристики на рамката на Django, компонент на Django, предимства и недостатъци и много други.
Преди да научим Django, нека разберем:

Какво е уеб рамка?

Уеб рамката е библиотека с кодове, която ви помага да изградите гъвкав, мащабируем и поддържаем; динамичен уебсайт, уеб приложение и уеб услуги. Различни уеб рамки са Zend за PHP, Руби на релси за Ruby и др.

Какво е Django?

Django е рамка за уеб разработка за Python който предлага стандартни методи за бърза и ефективна изработка на уеб сайт. Основната цел на тази уеб рамка на високо ниво е да създава сложни уебсайтове, управлявани от бази данни. Помага ви да създавате и поддържате качествени уеб приложения. Позволява ви да направите процеса на разработка гладък и спестяващ време за бързо развитие.

Защо Django? Основни предимства на Django

Ето основните предимства на Django:

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

История на Django

година Важно събитие
2003 Проектът е стартиран от Adian Holovaty и Simon Willison като вътрешен проект във вестник Lawrence Journal-World
юли 2005 Той беше издаден през юли 2005 г. като „Django“, кръстен на джаз китариста Django Reinhard
юни 2008 Декларира, че софтуер Django Foundation (DSF) ще поддържа Django.
29 юли 2009 Версията на Django 1.1 беше пусната с функции като агрегати, базирани на транзакции тестове.
17 май 2010 Беше пусната версия на Django 1.2. Актуализацията предлага функции като множество бази данни, внедряване на имейл бекенд и подобрения за сесии и бисквитки са направени в тази версия.
Март 23 2011 Бяха въведени версия 1.3 с функции като изгледи, базирани на класове, статични файлове
Март 23 2012 Стартира версия 1.4 с нови функции като часови зони и тестване в браузъра
26 февруари 2013 1.5 версия идва с Python 3 Поддръжка, конфигурируеми характеристики на потребителския модел.
Ноември 6 2013 Версия 1.6 идва с управление на DB транзакции, функции за групиране на връзки.
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

Ето основните характеристики на Django:

  • Loosely Coupled - Django ви помага да направите всеки елемент от неговия стек независим от другите.
  • Less код- Осигурява ефективно развитие
  • Не се повтаря - Всичко трябва да се развива на точно едно място, вместо да се повтаря отново
  • Бързо развитие – Django предлага бързо и надеждно разработване на приложения.
  • Последователен дизайн - Django поддържа изчистен дизайн и улеснява следването на най-добрите практики за уеб разработка.

След това в този урок за начинаещи в Django ще научим за архитектурата на Django.

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

По-долу е дадена подробна архитектура на Django:

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

MVC модел

Когато говорим за приложения, които предоставят UI (уеб или десктоп), обикновено говорим за MVC архитектура. MVC моделът се основава на модел, изглед и контролер.

- Модел дефинира структурата на данните и се грижи за заявките към базата данни.

- Гледка дефинира какви данни трябва да бъдат представени и връща HTTP отговор.

- Регулатор е тази част от приложението, която обработва взаимодействието с потребителя.

Django MVC-MVT модел

Model-View-Template (MVT) е различна концепция в сравнение с MVC. Основната разлика между тези два архитектурни модела е, че самият Django управлява частта Controller (софтуерен код, който контролира взаимодействията между Model и View). Шаблонът е HTML файл, който се смесва с Django Template Language файл, който също се нарича DTL.

Дадената по-долу диаграма показва как всички компоненти на модела MVT взаимодействат помежду си, за да обслужват специфични потребителски заявки.

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

MVT разширение Archiтекстура

Както се вижда на диаграмата по-горе, потребител иска ресурс към Django. Django действа като контролер и проверява наличния ресурс в URL.

Ако URL картографира, се извиква изглед, който взаимодейства с модел и шаблон. След това Django отговаря на потребителя и изпраща шаблон като отговор.

Сега в тази поредица от уроци по Django за начинаещи ще научим за компонентите на Django.

Компоненти на Django

Форма

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

заверка

Той обработва потребителски акаунти, групи, базирани на бисквитки потребителски сесии и др.

Admin

Той чете метаданни във вашите модели, за да осигури стабилен интерфейс, който може да се използва за управление на съдържанието на вашия сайт.

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

Django предоставя поддръжка за превод на текст на различни езици, специфично за локала форматиране на дати, часове, числа и часови зони.

Охрана

Django осигурява защита срещу следните атаки:

  • Фалшифициране на заявки между сайтове (CSRF)
  • Скриптове на различни сайтове
  • SQL инжекция
  • Clickjacking
  • Отдалечено изпълнение на код

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

Ето компаниите, които използват Django:

  • BitBucket
  • DISQUS
  • НАСА
  • PBS (Услуга за обществено радио и телевизия)
  • Pinterest
  • Instagram
  • Mozilla
  • "Вашингтон пост"
  • NY Times
  • LA Times
  • The Guardian National Geographic
  • Discovery Channel

Недостатъци на използването на Django

  • Един процес не може да обработва няколко заявки едновременно.
  • Django е много монолитен инструмент.
  • Компонентите се разполагат заедно, което може да създаде объркване.
  • Познаване на пълната система, необходимо за работа с Django
  • Прави компонентите на уеб приложенията тясно свързани
  • Трябва да правите продължително програмиране за незначителни задачи.

Oбобщение

  • Django е рамка за уеб разработка за Python който предлага стандартен метод за бърза и ефективна разработка на уеб сайт.
  • Django стартира от Adian Holovaty и Simon Willison като вътрешен проект във вестник Lawrence Journal-World през 2003 г.
  • Django ви помага да документирате своя API с HTML изход.
  • Django ви позволява да персонализирате административния панел според вашите нужди.
  • Django ви помага да направите всеки елемент от неговия стек независим от другите.
  • Основната разлика между MVC и MVT архитектурните модели е, че самият Django управлява частта на контролера.
  • Основни компоненти на архитектурата на Django са: формуляр, автентификация, администратор, интернационализация, сигурност.
  • Bitbucket, DISQUS, Nasa, Pinterest, Instagram, Mozilla и др. използват Django
  • Най-големият недостатък на Django е, че не може да обработва няколко заявки едновременно.