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

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

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

Звичайно, перш ніж представити Django, нам потрібно спочатку знати, що таке веб-рамки, враховуючи їх значення в сучасних веб-додатках. Щоб зрозуміти веб-рамки, давайте подивимось, як кодує програму Python, коли ви не використовуєте фреймворк. Найпростіший спосіб зробити це за допомогою загального інтерфейсу шлюзу (CGI). Вам просто потрібно створити сценарій з вихідним кодом HTML, а потім зберегти його за допомогою. розширення cgi на веб-сервері. Для простих сторінок, мабуть, найкращим є підхід із запису з нуля. Код простіший для розуміння, і іншого коду для читання немає. Це також простіше розгортання.

Незважаючи на свою простоту, підхід має кілька проблем. Наприклад, що б ви зробили, якщо для підключення до бази даних вам знадобилося кілька частин програми? Якщо ви скористаєтесь вищевказаним методом, вам доведеться дублювати код з'єднання бази даних у кожному сценарії CGI. Це може бути не просто громіздким, але й може збільшити шанси на повзання помилок людини. Однак, простішим методом було б поставити цей код у спільну функцію. Коли код повторно використовується в різних середовищах з окремим паролем і базою даних, вам доведеться налаштувати код для кожного конкретного середовища.

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

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

Модель-перегляд-контролер

Django уважно слідує схемі Model-View-Controller (MVC), настільки, що її можна було б майже віднести до структури MVC. Ця закономірність розділяє моделювання домену, презентації та дії на основі введення користувача на три унікальні класи. Щоб зрозуміти це краще, просто погляньте на сценарій CGI Python.

Стандартний скрипт CGI буде включати деякі вступні елементи HTML для переднього кінця, а потім з'єднання з базою даних. Ось приклад коду підключення до бази даних в CGI Python:

з'єднання = MySQLdb.connect (user = 'ABC', passwd = 'xxxxxxxx', db = 'my_db')

Після цього у вас є команда виконання для запуску запиту. Потім у вас є трохи HTML для відображення результатів запиту в передній частині. Нарешті, ви закриваєте з'єднання простою лінією:

connection.close ()

Тепер із Django у вас є три файли Python, ідентифіковані з їх. py суфікс. Першими будуть таблиці баз даних, models.py. Друга міститиме логіку програми, views.py. І третя матиме конфігурацію URL-адреси urls.py. Нарешті, у вас будуть деякі елементи HTML, щоб представити результати на передній частині. Ключовим тут є розділення на різні файли Python; вам не доведеться турбуватися про синтаксис.

Файл models.py містить опис таблиці бази даних. Використовуючи цей клас Python, ви можете створювати, видаляти, отримувати та оновлювати записи, використовуючи простий код Python замість повторення операторів SQL. Файл views.py має ділову логіку, а функція latest_books () - це перегляд. Файл urls.py визначає, який вигляд викликається для заданої URL-адреси. Наприклад, ви можете кодувати перегляд, до якого потрібно звернутися, якщо браузер завантажує URL-адресу домену / приклад /. Це означає, що якщо ваш домен abc.com, відвідування URL abc.com/example/ викликає цю функцію.

Шаблон HTML описує дизайн сторінки. Тут використовується мова шаблону та основні логічні твердження. Загалом ці шматки відповідають схемі MVC.

MVC - це метод розробки програмного забезпечення в тому випадку, що модель, що представляє собою код доступу та визначення даних, є окремою від контролера, що є логікою маршрутизації запитів, яка також є окремою від перегляду, що є інтерфейсом користувача. MVC корисний тим, що компоненти дуже вільно з'єднані. Кожна частина веб-додатку, таким чином, має свої єдині цілі і їх можна самостійно змінити, не потребуючи різких змін інших фрагментів. Наприклад, ви можете змінити URL-адресу в будь-якій частині програми, і це змінило б реалізацію, не торкаючись її коду Python. Можна перейменувати таблицю в базі даних і вказати зміни в одному місці, не замінюючи десятки файлів.

Рекомендовані курси

  • Програма на Windows 10
  • Курс професійного тестування програмного комплексу
  • Набір навчальних програм програмування Python
  • Повне навчання Джанго

Коротка історія Джанго

Тепер, коли ви трохи знаєте про веб-рамки, настав час трохи заглибитись в історію Джанго. Знання, звідки береться Джанго, може допомогти вам краще зрозуміти, як воно працює та як керувати його ярликами. Якщо ви будуєте веб-додатки, ви, ймовірно, вже знаєте проблеми, пов’язані з CGI. Класичний шлях веб-розробки йде так:

  1. Ви пишете веб-додаток з нуля
  2. Ви пишете другу заявку
  3. Ви розумієте, що між двома додатками існує кілька загальних елементів
  4. Ви перефактуруєте код, щоб програма 1 мала той самий код, що і другий
  5. Ви повторюєте 2-4 кілька разів
  6. Ви розумієте, що ви створили рамки

Так створився і Джанго. Він формувався з реальних програм, які були написані командою з веб-розробників у Канзасі. Він був створений у 2003 році, коли веб-програмісти Адріан Головати та Саймон Віллісон почали використовувати Python для створення програм.

Команда World Online, відповідальна за підтримку та створення декількох місцевих новинних сайтів, побачила величезні переваги в середовищі веб-розробки, яке було продиктовано термінами журналістики. Для сайтів журналісти та керівництво хотіли додати функції та створити програми за швидким графіком із повідомленням лише за кілька днів та годин. Потім два розробники сформували структуру веб-розробки, щоб заощадити час та створити рентабельні додатки в терміни.

Потім влітку 2005 року команда випустила основу як програмне забезпечення з відкритим кодом, назвавши його "Джанго" після Джанго Рейнхардта, імовірно, одного з найбільших джазових гітаристів усіх часів. З того часу Django зарекомендував себе як популярний проект з відкритим кодом з тисячами прихильників, учасників та користувачів у всьому світі. Двоє з оригінальних розробників, Якоб та Адріан, все ж давали свої центральні вказівки щодо зростання цієї структури.

Але чому ми навіть обговорюємо історію Джанго? Ну, з двох причин. Перший полягає в тому, що це допомагає визначити та пояснити «солодке місце» програмного забезпечення. Джанго виходив із середовища новин, а тому повно функцій, які найкраще підходять для сайтів, орієнтованих на вміст, таких як Washington Post, Amazon та Craigslist, пропонуючи базу даних та динамічну інформацію. Тим не менш, Джанго також хороший для будь-якого діамічного веб-сайту. Друга причина - історія Джанго допомагає зрозуміти, як формувалася культура її громади.

Джанго було сформовано з коду реального світу, а не з комерційного продукту чи навчальних занять. Як результат, вона сильно зосереджена на вирішенні проблем, з якими стикаються оригінальні веб-розробники, та проблем, з якими стикаються нинішні розробники. Це означає, що Джанго майже щодня бачить вдосконалення. Екіпаж з обслуговування рамок має великий інтерес до того, щоб інструмент економив час для розробника та виробляв легко обслуговувані програми та ті, які добре справляються з великими навантаженнями. Всі вони хочуть полегшити справи, іншими словами.

Встановлення Django

Отже, на сьогодні вже має бути досить зрозуміло, що Джанго - це інструмент для спрощення веб-розробки. Але встановлення самого інструмента може зайняти кілька кроків через кількість рухомих деталей у сучасних середовищах веб-розробки.

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

Якщо ви перебуваєте на Mac чи Linux, напевно, у вас уже є Python на комп’ютері. Ви можете перевірити це, перейшовши до командного рядка та ввівши "python" у командному рядку. Ви повинні побачити щось подібне:

Python 3.5.1 (v3.5.1: 37a07cee5969, 6 грудня 2015, 01:54:25)

(MSC v.1900 64 біт (AMD64)) у програмі win32

Введіть "довідка", "авторське право", "кредити" або "ліцензія" для отримання додаткової інформації.

>>>

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

Для початку найкраще піти на офіційний реліз. Ви можете знайти найновіший на веб-сайті проекту Django. Якщо у вас є дистрибутив Linux з пакетом Django, перейдіть на версію дистрибутора, щоб отримати й оновлення безпеки.

Налаштування бази даних

Єдиною умовою Django є те, що у вас є робоча установка Python. Після того, як ви налаштували, ви зможете відразу почати писати веб-додаток. Однак, як згадувалося раніше, Django був розроблений з акцентом на веб-додатках, орієнтованих на вміст, на базі даних. Тож шанси на те, що ви створите веб-сайт, керований базою даних. У цьому випадку потрібно налаштувати сервер баз даних.

Django підтримує чотири двигуни бази даних: MySQL, Oracle, SQLite 3 та PostgreSQL. Всі двигуни однаково добре працюють здебільшого з основними рамками. PostgreSQL рекомендується, якщо ви не маєте зв’язків зі застарілою системою і можете вибрати сервер бази даних.

Щоб налаштувати базу даних, потрібно встановити і налаштувати сам сервер. Кожна обрана вами база даних має свій спосіб налаштування, тому вам потрібно посилатися на це. По-друге, вам потрібно встановити бібліотеку Python для цього конкретного резервного бази даних. Це сторонній код для Python для взаємодії з базою даних.

SQLite рекомендується, якщо ви просто експериментуєте з Django і не хочете встановлювати сервер. Не потребує встановлення; він може просто читати і записувати дані в один файл у вашій системі, і він підтримується Python 2.5 і вище. Windows ускладнює отримання бінарних файлів драйверів баз даних.

Якщо ви вибрали MySQL, вам потрібен MySQL 4.0 або новішої версії, оскільки старі версії не підтримують функції Django. Вам також потрібно встановити пакет MySQLdb зі сторінки проекту Django. Якщо ви використовуєте Linux, система управління пакунками вашого дистрибутива може мати пакет під назвою 'mysql-python', 'python-mysqldb' або 'python-mysql'.

Django працює з версіями 9i або вище сервера баз даних Oracle. Вам також потрібно встановити бібліотеку cx_Oracle з веб-сайту cx-Oracle. Крім того, ви можете використовувати Django без бази даних повністю, якщо ви хочете використовувати його лише для обслуговування динамічних сторінок без посилання на базу даних. Зважаючи на це, для деяких інструментів в Django потрібна база даних, а відсутність такої причини призведе до того, що ви пропустите їх.

Рекомендовані статті

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

  1. Python vs JavaScript - Дізнайтеся про 11 USeful різницю
  2. 10 найкращих питань щодо інтерв'ю веб-розробки, які ви повинні знати
  3. 10 видів програмування Python
  4. Python vs Ruby Performance та їх корисні переваги
  5. Ключові відмінності Python vs JavaScript
  6. Python vs Go