Підручник 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 Проект був започаткований Адіаном Головатим і Саймоном Віллісоном як внутрішній проект газети Lawrence Journal-World
липень 2005 Він був випущений у липні 2005 року як «Django», названий на честь джазового гітариста Джанго Рейнхарда.
червні 2008 Заявлено, що Django Software Foundation (DSF) підтримуватиме Django.
29 липня 2009 Версія Django 1.1 була випущена з такими функціями, як агрегати, тести на основі транзакцій.
травня 17 року Випущено версію 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 грудень 2015 У версії 1.9 була представлена ​​функція автоматичної перевірки пароля.
1 серпня 2016 У версії 1.10 повнотекстовий пошук PostgreSQL запущений
4 квітня 2017 Версія 1.11 стає останньою версією для підтримки Python 2.7
2 грудень 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:

  • Loosely Coupled - Django допомагає вам зробити кожен елемент свого стека незалежним від інших.
  • Less код- Забезпечує ефективний розвиток
  • Не повторюватися - все має бути розроблено в одному місці, а не повторюватися знову
  • Швидка розробка – Django пропонує швидку та надійну розробку програм.
  • Послідовний дизайн – Django підтримує чистий дизайн і дозволяє легко дотримуватися найкращих практик веб-розробки.

Далі в цьому посібнику для початківців Django ми дізнаємося про архітектуру Django.

Django Archiтектура: MVC і MVT

Нижче наведено детальну архітектуру Django:

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

Візерунок MVC

Говорячи про програми, які забезпечують інтерфейс користувача (веб або настільний), ми зазвичай говоримо про архітектуру MVC. Шаблон MVC базується на моделі, поданні та контролері.

Команда Модель визначає структуру даних і піклується про запит до бази даних.

Команда вид визначає, які дані мають бути представлені, і повертає відповідь HTTP.

Команда контролер це та частина програми, яка обробляє взаємодію користувача.

Шаблон Django MVC-MVT

Концепція Model-View-Template (MVT) відрізняється від MVC. Основна відмінність між цими двома архітектурними шаблонами полягає в тому, що Django сам керує частиною контролера (програмний код, який контролює взаємодію між моделлю та представленням). Шаблон — це файл HTML, який змішується з файлом мови шаблонів Django, який також називається DTL.

На наведеній нижче діаграмі показано, як усі компоненти шаблону MVT взаємодіють один з одним, щоб обслуговувати конкретний запит користувача.

Django Archiтектура: MVC і MVT

МВТ Archiтектура

Як показано на схемі вище, користувач запитує ресурс у Django. Django діє як контролер і перевіряє доступний ресурс за URL-адресою.

Якщо URL-адреса відображається, викликається представлення, яке взаємодіє з моделлю та шаблоном. Потім Django відповідає користувачеві та надсилає шаблон як відповідь.

Зараз у цій серії підручників Django для початківців ми дізнаємося про компоненти Django.

Компоненти Django

Форма

Django має потужну бібліотеку форм, яка обробляє відтворення форм як HTML. Бібліотека допомагає перевіряти надіслані дані та перетворювати їх у Python типи.

Authentication

Він обробляє облікові записи користувачів, групи, сеанси користувачів на основі файлів cookie тощо.

Адміністратор

Він читає метадані у ваших моделях, щоб забезпечити надійний інтерфейс, який можна використовувати для керування вмістом на вашому сайті.

Internationalization

Django підтримує переклад тексту на різні мови, форматування дат, часу, чисел і часових поясів, що залежать від локалі.

Безпека

Django забезпечує захист від таких атак:

  • Підробка міжсайтових запитів (CSRF)
  • Перехресні сценарії
  • SQL injection
  • Clickjacking
  • Віддалене виконання коду

Відомі компанії, що використовують Django

Ось компанії, які використовують Django:

  • BitBucket
  • DISQUS
  • NASA
  • PBS (служба суспільного мовлення)
  • Pinterest
  • Instagram
  • Mozilla
  • The Washington Post
  • NY Times
  • LA Times
  • The Guardian National Geographic
  • Discovery Channel

Недоліки використання 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 є те, що він не може обробляти декілька запитів одночасно.