Огляд скриптовых мов - Python
Приклади збереження даних Приклади збереження данихУ порівнянні з pickle або YAML для ініціалізації роботи з ZODB потрібно написати на парі рядків програмного коду більше, але як тільки сховище...
Контактні дані Київ, Мясницкая вул., 35
Телефон: +38 (044) 997 - 93 - 19
Факс: +38 (044) 999 - 99 - 91
Використання платформи Django
При використанні платформи Django для кожного додатка визначається своя власна схема. У каталозі кожного додатка, у цьому випадку "inventory", є присутнім файл із ім'ям models.pyf утримуючого визначення таблиць і стовпців, які будуть використовуватися додатком. В Django, як і в інших платформах розробки веб-додатків, що опираються на використання объектно-реляционных проекцій (Object-Relation Mapping, ORM), цілком можливо створювати й використовувати бази даних, не написавши жодного SQL-Вираження.

Механізм ORM платформи Django перетворює класи в таблиці, а атрибути класів у стовпці цих таблиць. Зверніть увагу, що клас HardwareComponent успадковує клас Model платформи Django. Це означає, що клас HardwareComponent ставиться до типу Model і має відповідне поводження. Кожному апаратному компоненту ми додали кілька атрибутів: manufacturer (виробник), type (тип), model (модель), vendor_part_number (серійний номер) і description (опис).

Реалізація цих атрибутів перебуває в самій платформі Django. Ні, платформа не надає який-небудь перелік виробників, але вона реалізує тип Char Field. Коли визначається клас моделі, платформа Django створює відповідну таблицю з ім'ям, що складається з ім'я додатка (всі символи в нижньому регістрі), за яким ідуть символ підкреслення й ім'я класу (всі символи також у нижньому регістрі). Крім того, якщо не визначене інше, платформа створить у вашій таблиці додатковий стовпець id, що буде відігравати роль первинного ключа.

Якщо вам коли-небудь буде потрібно побачити код мовою SQL, що платформа використовує для створення бази даних, просто запустите в каталозі проекту команду python manage, py sql myapp, де аргумент myapp відповідає ім'ю додатка. Тепер, коли ви познайомилися з ORM платформи Django, ми пройдемо через створення моделі бази даних для нашого додатка інвентаризації. У прикладі 11.12 приводиться вміст файлу model. py для додатка inventory. Для нашої моделі ми визначили п'ять класів: OperatingSystem, Service, HardwareComponent, Server і IPAddress.

Клас OperatingSystem дозволяє нам визначати різні операційні системи для серверів, які будуть ураховуватися додатком інвентаризації. У цьому класі ми визначили два атрибути: name і description, які дійсно будуть необхідні нам. Можна було б створити клас OperatingSystem-Vendor і визначити посилання на нього в класі OperatingSystem, але в інтересах збереження простоти й зрозумілості ми опустимо згадування про виробника операційної системи. Кожному серверу буде відповідати єдина операційна система.

Ми покажемо це відношення між сервером і операційною системою, коли будемо розглядати клас Server. Клас Service дозволяє перелічити всі служби, які можуть виконуватися на сервері. Як приклади таких служб можна назвати веб-сервер Apache, сервер електронної пошти Postfix, сервер DNS Bind і сервер OpenSSH. Як і клас OperatingSystem, цей клас має два атрибути: name і description. Кожний сервер може мати безліч служб. Ми покажемо відносини між цими класами, коли будемо розглядати клас Server. Клас HerdwareComponent представляє список всіх апаратних компонентів, які можуть утримуватися в сервері.
Служба аутентификации Служба аутентификацииОдне із самих удалих визначень, з якими нам доводилося зіштовхуватися, приводиться у Википедии: "прикладний протокол, що дозволяє звертатися до служби каталогів, що працює поверх протоколу TCP/IP". Як приклад...
Веб додатка Веб додаткаОдне з поліпшень, яке можна було б внести в цей додаток, -це реалізувати сортування в порядку, зворотному поточний. Зробити це досить просто, але ми залишимо реалізацію цієї можливості читачам. Як ще одне поліпшення...
Запуск сценарію Запуск сценаріюЦе в точності відповідає нашим очікуванням. Тепер спочатку спробуємо запустити сценарій, що додає новий запис, а потім знову запустимо сценарій, що витягає дані. Цей приклад ідентичний попередньому прикладу, де використовувався метод store,...
Створення звітів Створення звітівКрім того, ми могли б розширити цей сценарій і відшукувати запису з обсягом використання 80 відсотків, 70 відсотків і видавати попередження по досягненні цих рівнів. Такий сценарій легко можна було б об'єднати, наприклад, с...
 
(c) Copyright