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:
MVC модел
Когато говорим за приложения, които предоставят UI (уеб или десктоп), обикновено говорим за MVC архитектура. MVC моделът се основава на модел, изглед и контролер.
- Модел дефинира структурата на данните и се грижи за заявките към базата данни.
- Гледка дефинира какви данни трябва да бъдат представени и връща HTTP отговор.
- Регулатор е тази част от приложението, която обработва взаимодействието с потребителя.
Django MVC-MVT модел
Model-View-Template (MVT) е различна концепция в сравнение с MVC. Основната разлика между тези два архитектурни модела е, че самият Django управлява частта Controller (софтуерен код, който контролира взаимодействията между Model и View). Шаблонът е HTML файл, който се смесва с Django Template Language файл, който също се нарича DTL.
Дадената по-долу диаграма показва как всички компоненти на модела MVT взаимодействат помежду си, за да обслужват специфични потребителски заявки.
Както се вижда на диаграмата по-горе, потребител иска ресурс към Django. Django действа като контролер и проверява наличния ресурс в URL.
Ако URL картографира, се извиква изглед, който взаимодейства с модел и шаблон. След това Django отговаря на потребителя и изпраща шаблон като отговор.
Сега в тази поредица от уроци по Django за начинаещи ще научим за компонентите на Django.
Компоненти на Django
Форма
Django има мощна библиотека с формуляри, която обработва изобразяването на формуляри като HTML. Библиотеката помага при валидирането на изпратените данни и конвертирането им в Python видове.
заверка
Той обработва потребителски акаунти, групи, базирани на бисквитки потребителски сесии и др.
Admin
Той чете метаданни във вашите модели, за да осигури стабилен интерфейс, който може да се използва за управление на съдържанието на вашия сайт.
Интернационализация
Django предоставя поддръжка за превод на текст на различни езици, специфично за локала форматиране на дати, часове, числа и часови зони.
Охрана
Django осигурява защита срещу следните атаки:
- Фалшифициране на заявки между сайтове (CSRF)
- Скриптове на различни сайтове
- SQL инжекция
- Clickjacking
- Отдалечено изпълнение на код
Известни компании, използващи Django
Ето компаниите, които използват Django:
- BitBucket
- DISQUS
- НАСА
- PBS (Услуга за обществено радио и телевизия)
- 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 е, че не може да обработва няколко заявки едновременно.