Підручник з Django: Функції, Archiтектура та історія

⚡ Розумний підсумок

Django — це безкоштовний продукт з відкритим вихідним кодом Python Веб-фреймворк, побудований за шаблоном модель-вигляд-шаблон, що дозволяє швидку розробку безпечних, масштабованих веб-сайтів на основі баз даних завдяки компонентам багаторазового використання, автоматичному інтерфейсу адміністрування та дизайну з батарейками.

  • 🔘 Рамки: Django — це високорівневий Python фреймворк для швидкого створення складних вебзастосунків на основі баз даних.
  • ☑️ Archiтекстура: Шаблон моделі-вигляд-шаблону (MVT) дозволяє Django керувати контролером та розділяти дані, логіку та представлення.
  • Батареї в комплекті: Вбудоване адміністрування, автентифікація, форми та інтернаціоналізація усувають більшість повторюваних налаштувань.
  • 🛠️ Безпека: Стандартні засоби захисту блокують CSRF, міжсайтовий скриптинг, SQL-ін'єкції та клікджекінг.
  • 🧪 Масштаб: Instagram, Pinterest, Mozilla та Disqus покладаються на Django для обслуговування дуже високого трафіку.
  • 🤖 AI: Django використовує моделі машинного навчання як API, а помічники, такі як GitHub Copilot, пришвидшують кодування на серверній частині.

Підручник з Django для початківців

Django забезпечує роботу деяких найбільших сайтів в Інтернеті, водночас зберігаючиping Швидка та організована щоденна розробка. Перш ніж досліджувати його функції, архітектуру та історію, розділи нижче починаються з основ веб-фреймворків та того, що відрізняє Django.

Підсумок підручника Django

Цей посібник з Django охоплює всі основні теми з нуля. У ньому ви дізнаєтеся про такі поняття, як що таке Django, його історія, його функції, характеристики фреймворку Django, компоненти Django, його переваги та недоліки та багато іншого.

Перш ніж вивчати Django, давайте зрозуміємо:

Що таке веб-фреймворк?

Вебфреймворк — це бібліотека коду, яка допомагає вам створити гнучкий, масштабований та зручний у обслуговуванні динамічний вебсайт, вебзастосунок або вебсервіс. Різні вебфреймворки включають Zend для PHP, Рубін на рейки для Рубі та інших.

Що таке Django?

Django це платформа веб-розробки для Python який пропонує стандартні методи для швидкої та ефективної розробки веб-сайтів. Основною метою цього високорівневого веб-фреймворку є створення складних веб-сайтів на основі баз даних. Він допомагає вам створювати та підтримувати якісні веб-додатки. Він дозволяє зробити процес розробки плавним та економним для швидкої розробки.

Чому Django? Ключові переваги Django

Ось основні переваги Django:

  • Django легко налаштувати та запустити. Він пропонує різноманітні опції для початку роботи.
  • Він надає готовий до використання користувацький інтерфейс для адміністративної діяльності.
  • Він дозволяє створювати багатомовні веб-сайти завдяки вбудованій системі інтернаціоналізації.
  • Це допомагає вам швидко задовольнити величезні потреби в трафіку.
  • Django використовується для створення всіх типів систем управління контентом, соціальних мереж, а також платформ для наукових обчислень.
  • Django допомагає вам забезпечити комплексне тестування застосунків.
  • Це допомагає вам документувати ваш API за допомогою HTML-виводу.
  • REST-фреймворк має розширену підтримку кількох протоколів автентифікації.
  • Він пропонує дозволи та політики обмеження.
  • Він широко використовується для обмеження швидкості запитів API від одного користувача.

Історія Django

рік Віха
2003 Проєкт був започаткований Адріаном Головатим та Саймоном Віллісоном як внутрішній проєкт у газеті Lawrence Journal-World.
липень 2005 Він був випущений у липні 2005 року під назвою «Django», названий на честь джазового гітариста Джанго Рейнхардта.
червні 2008 Було оголошено, що програмне забезпечення Django 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 ми дізнаємося про характеристики Django.

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

Ось основні характеристики Django:

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

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

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

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

Django Archiтектура

Django Archiтектура

Візерунок MVC

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

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

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

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

Шаблон Django MVC-MVT

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

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

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

МВТ Archiтектура

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

Якщо URL maps викликається представлення, яке взаємодіє з моделлю та шаблоном. Потім 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
  • The New York Times
  • Los Angeles Times
  • The Guardian
  • National Geographic
  • Discovery Channel

Недоліки використання Django

Ось деякі недоліки використання Django:

  • Один процес не може обробляти кілька запитів одночасно.
  • Django — це дуже монолітний інструмент.
  • Компоненти розгортаються разом, що може створювати плутанину.
  • Для роботи з Django необхідні знання всієї системи.
  • Це робить компоненти веб-застосунку тісно пов'язаними.
  • Вам потрібно виконувати тривале програмування для другорядних завдань.

Поширені запитання

Django — це, перш за все, бекенд-фреймворк, хоча його часто називають повностековим, оскільки його шар шаблонів відповідає за рендеринг 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) – це серія хуків, які обробляють кожен запит і відповідь глобально. Django використовує проміжне програмне забезпечення для сесій, автентифікації, захисту CSRF та заголовків безпеки, кожен з яких виконується по порядку до та після виконання вашого представлення.

Практичне знання Python а також необхідні базові веб-концепції, такі як HTTP, HTML та бази даних. Розуміння об'єктно-орієнтованого програмування значно полегшує вивчення моделей Django та представлень на основі класів.

Так. Django часто обслуговує моделі машинного навчання через представлення (views) або Django REST Framework, надаючи прогнози як кінцеві точки API. Навчена модель завантажується один раз під час запуску та повертає результати виведення веб- або мобільним клієнтам.

GitHub Copilot та подібні помічники зі штучним інтелектом автоматично доповнюють моделі, представлення Django, URL шаблони, тести та можуть створювати повторювані шаблони. Вони пришвидшують розробку, хоча згенерований код завжди слід перевіряти на безпеку та правильність.

Підсумуйте цей пост за допомогою: