Огляд скриптовых мов - Python
Приклади збереження даних Приклади збереження данихУ порівнянні з pickle або YAML для ініціалізації роботи з ZODB потрібно написати на парі рядків програмного коду більше, але як тільки сховище...
Контактні дані Київ, Мясницкая вул., 35
Телефон: +38 (044) 997 - 93 - 19
Факс: +38 (044) 999 - 99 - 91
Функція List files
Це все, що відбувається у функції list_files. Дана функція настроюється зміною значення змінної log_dir. Інший спосіб впливу на роботу цієї функції міг би укладатися в зберіганні ім'я каталогу журналів у базі даних. Якби ім'я каталогу зберігалося в базі даних, ми могли б змінювати це значення без необхідності перезапускати додаток.

Функція view_log приймає як аргументи метод сортування й ім'я файлу журналу. Значення для обох цих аргументів витягають із URL за допомогою регулярного вираження, заданого у файлі urls.py. Для завдання методу сортування й ім'я файлу ми використовували іменовані групи в регулярному вираженні у файлі urls.py, але це не є обов'язковим.

Аргументи, витягнуті з URL, передаються функції подання в тім же порядку, у якому вони були знайдені у відповідних групах. Це розповсюджена практика, коли в регулярному вираженні розбору URL використовуються іменовані групи, тому що завдяки такому підходу ви легко можете сказати, які параметри витягають із URL, а також - як повинна виглядати рядок URL. Функція view_log відкриває файл журналу з ім'ям, отриманим з URL.

Потім виконується його аналіз за допомогою бібліотеки аналізу файлів журналів Apache з наведених раніше прикладів, щоб перетворити кожний рядок у кортеж, у форматі: статус, вилучений_хост, кількість_байтів і залишок рядка журналу. Потім функція view_log сортує список кортежів, що був отриманий з URL, з урахуванням зазначеного методу сортування. На закінчення функція view_log передає отриманий список шаблону view_logf ile. html для відображення. Єдине, що залишилося зробити, це створити шаблони, які використовуються функціями подання для відображення інформації.

Шаблони в платформі Django можуть успадковувати інші шаблони, завдяки чому підвищується рівень багаторазового використання коду й забезпечується однаковість зовнішнього вигляду сторінок. Першим ми створимо шаблон, що є батьківським для двох інших шаблонів. Цей шаблон буде визначати загальний зовнішній вигляд для інших двох шаблонів у додатку. Саме тому ми й почнемо з його. Це дуже простий базовий шаблон. Можливо, це найпростіша сторінка HTML, що тільки можна одержати.

Єдині елементи, які представляють тут інтерес,- це два розділи "block": "title" і "content". Коли в батьківському шаблоні визначається розділ "block", дочірній шаблон одержує можливість замінити його своїм власним умістом. Це дозволяє задавати вміст за замовчуванням, що може бути заміщене в дочірньому шаблоні. Блок "title" дозволяє дочірнім сторінкам визначати значення, що буде відображатися в циклодромі title . Блок "content" - це типовий прийом відновлення "головного" роздягнула сторінки без внесення змін в іншу частину сторінки.

У цьому шаблоні ми вказуємо, що розширюємо шаблон "base.html". Це дозволяє використовувати все, що визначено в базовому шаблоні, включати свій код у будь-які блоки, які були визначені, і перевизначати їхнє поводження. Саме це ми й робимо із блоками "title" і "content". У блоці "content" у циклі виконується обхід умісту змінної f ile_list, що була передана шаблону. Для кожного елемента в списку file_list створюється посилання, у результаті клацання на якій буде відкритий відповідний файл журналу.
Служба аутентификации Служба аутентификацииОдне із самих удалих визначень, з якими нам доводилося зіштовхуватися, приводиться у Википедии: "прикладний протокол, що дозволяє звертатися до служби каталогів, що працює поверх протоколу TCP/IP". Як приклад...
Веб додатка Веб додаткаОдне з поліпшень, яке можна було б внести в цей додаток, -це реалізувати сортування в порядку, зворотному поточний. Зробити це досить просто, але ми залишимо реалізацію цієї можливості читачам. Як ще одне поліпшення...
Запуск сценарію Запуск сценаріюЦе в точності відповідає нашим очікуванням. Тепер спочатку спробуємо запустити сценарій, що додає новий запис, а потім знову запустимо сценарій, що витягає дані. Цей приклад ідентичний попередньому прикладу, де використовувався метод store,...
Створення звітів Створення звітівКрім того, ми могли б розширити цей сценарій і відшукувати запису з обсягом використання 80 відсотків, 70 відсотків і видавати попередження по досягненні цих рівнів. Такий сценарій легко можна було б об'єднати, наприклад, с...
 
(c) Copyright