Урок за Django: Функции, Archiструктура и история

⚡ Умно обобщение

Django е безплатен, с отворен код Python Уеб рамка, изградена върху шаблона модел-изглед-шаблон, позволяваща бързо разработване на сигурни, мащабируеми уебсайтове, управлявани от бази данни, чрез компоненти за многократна употреба, автоматичен администраторски интерфейс и дизайн с включени батерии.

  • 🔘 Рамковата: Джанго е високо ниво Python рамка за бързо изграждане на сложни, базирани на бази данни уеб приложения.
  • ☑️ Archiтекстура: Шаблонът model-view-template (MVT) позволява на Django да управлява контролера и да отделя данните, логиката и представянето.
  • Включени батерии: Вградената администрация, удостоверяване, формуляри и интернационализация премахват повечето повтарящи се задачи по настройката.
  • 🛠️ Сигурност: Защитните мерки по подразбиране блокират CSRF, междусайтови скриптове, SQL инжекции и атаки с цел кликване.
  • 🧪 Scale: Instagram, Pinterest, Mozilla и Disqus разчитат на Django за обслужване на много висок трафик.
  • 🤖 ИМАТЕ: Django обслужва модели за машинно обучение като API, а асистенти като GitHub Copilot ускоряват backend кодирането.

Урок по Django за начинаещи

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

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

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

Преди да научим Django, нека разберем:

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

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

Какво е Django?

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

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

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

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

История на Django

година Важно събитие
2003 Проектът е стартиран от Адриан Холовати и Саймън Уилисън като вътрешен проект във вестник „Лорънс Джърнъл-Уърлд“.
юли 2005 Издаден е през юли 2005 г. като „Django“, кръстен на джаз китариста Джанго Райнхард.
юни 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 дойде с функции за управление на транзакции в базата данни и обединяване на връзки.
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 framework ще научим за характеристиките на Django.

Характеристики на Django

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

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

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

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

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

Django Archiтекстура

Django Archiтекстура

MVC модел

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

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

- Гледка дефинира какви данни трябва да бъдат представени и връща 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

Форма

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

заверка

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

Admin

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

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

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

Охрана

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

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

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

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

  • Bitbucket
  • Disqus
  • НАСА
  • PBS (Услуга за обществено радио и телевизия)
  • Pinterest
  • Instagram
  • Mozilla
  • "Вашингтон пост"
  • The New York Times
  • Лос Анджелис Таймс "
  • "Гардиън"
  • National Geographic
  • Discovery Channel

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

Ето някои недостатъци на използването на Django:

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

Въпроси и Отговори

Django е предимно backend framework, въпреки че често се описва като full-stack, защото неговият шаблонен слой рендира HTML. Той управлява логиката от страна на сървъра, базите данни, маршрутизацията и сигурността, докато шаблоните се грижат за представянето за браузъра.

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

Django ORM, или обектно-релационният мапър, ви позволява да дефинирате таблици в базата данни като Python класове и да ги запитвате с Python код вместо суров SQL. Поддържа бази данни като PostgreSQL, MySQL, SQLite, и Oracle.

Изпълнете python -m django –version от командния ред или отворете Python shell и изпълнете import django, последвано от print(django.get_version()). И двете показват инсталирания номер на версията на Django.

Middleware е поредица от hooks (куки), които обработват всяка заявка и отговор глобално. Django използва middleware за сесии, удостоверяване, CSRF защита и заглавки за сигурност, като всеки от тях се изпълнява последователно преди и след изпълнението на вашия изглед.

Работно познаване на Python и основни уеб концепции като HTTP, HTML и бази данни са необходими. Разбирането на обектно-ориентираното програмиране прави Django моделите и базираните на класове изгледи много по-лесни за изучаване.

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

GitHub Copilot и подобни AI асистенти автоматично довършват Django модели, изгледи, URL шаблони и тестове, и могат да изградят повтарящи се шаблони. Те ускоряват разработката, въпреки че генерираният код винаги трябва да се проверява за сигурност и коректност.

Обобщете тази публикация с: