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

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тектура
Візерунок MVC
Коли йдеться про застосунки, що надають інтерфейс користувача (веб- або десктопний), ми зазвичай говоримо про архітектуру MVC. Шаблон MVC базується на Моделі, Представленні та Контролері.
Команда Модель визначає структуру даних та займається запитами до бази даних.
Команда вид визначає, які дані мають бути представлені, і повертає відповідь HTTP.
Команда контролер це частина програми, яка обробляє взаємодію з користувачем.
Шаблон Django MVC-MVT
Шаблон моделі-представлення (MVT) — це інша концепція порівняно з MVC. Основна відмінність між цими двома архітектурними шаблонами полягає в тому, що сам Django керує частиною контролера (програмним кодом, який контролює взаємодію між моделлю та представленням). Шаблон — це HTML-файл, який змішується з файлом мови шаблонів Django, також званим DTL.
На діаграмі нижче показано, як усі компоненти шаблону 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 (служба суспільного мовлення)
- Mozilla
- The Washington Post
- The New York Times
- Los Angeles Times
- The Guardian
- National Geographic
- Discovery Channel
Недоліки використання Django
Ось деякі недоліки використання Django:
- Один процес не може обробляти кілька запитів одночасно.
- Django — це дуже монолітний інструмент.
- Компоненти розгортаються разом, що може створювати плутанину.
- Для роботи з Django необхідні знання всієї системи.
- Це робить компоненти веб-застосунку тісно пов'язаними.
- Вам потрібно виконувати тривале програмування для другорядних завдань.


