Підручник 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:
Візерунок MVC
Говорячи про програми, які забезпечують інтерфейс користувача (веб або настільний), ми зазвичай говоримо про архітектуру MVC. Шаблон MVC базується на моделі, поданні та контролері.
Команда Модель визначає структуру даних і піклується про запит до бази даних.
Команда вид визначає, які дані мають бути представлені, і повертає відповідь HTTP.
Команда контролер це та частина програми, яка обробляє взаємодію користувача.
Шаблон Django MVC-MVT
Концепція Model-View-Template (MVT) відрізняється від MVC. Основна відмінність між цими двома архітектурними шаблонами полягає в тому, що Django сам керує частиною контролера (програмний код, який контролює взаємодію між моделлю та представленням). Шаблон — це файл HTML, який змішується з файлом мови шаблонів Django, який також називається DTL.
На наведеній нижче діаграмі показано, як усі компоненти шаблону MVT взаємодіють один з одним, щоб обслуговувати конкретний запит користувача.
Як показано на схемі вище, користувач запитує ресурс у 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 (служба суспільного мовлення)
- 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 є те, що він не може обробляти декілька запитів одночасно.