Ophelia

Скріншот програми:
Ophelia
Дані програми:
Версія: 0.3.5
Дата завантаження: 15 Apr 15
Розробник: Thomas Lotze
Ліцензія: Безкоштовно
Популярність: 5

Rating: nan/5 (Total Votes: 0)

Офелія Python проект, який створює XHTML сторінок із шаблонів, написаних на ЗПУ, Шаблон Zope Атрибут NBSP Мова & ;. Вона призначена для зменшення повторення коду до нуля.
Пакет містить як WSGI додаток, що працює Офелію, а також обробник запитів для mod_python, модуль Python для веб-сервера Apache 2.
Файли документації, наведені нижче, можуть бути знайдені в директорії пакету, разом з кількістю doctests для модулів.
Точки елемент списку
Після установки Офелія і написав кілька шаблонів, як ви можете зробити це роблять веб-сторінок?
Використовуйте Офелія з Apache
Пакет Python містить модуль ophelia.modpython, що забезпечує обробник запитів для модуля mod_python Apache.
Використовуйте Офелія в якості додатку WSGI
Офелія визначає клас додатки, сумісних зі стандартом WSGI, PEP 333: ophelia.wsgi.Application. Ви можете спробувати це працює власний wsgiref на основі HTTP сервер Офелії або запустити його будь-яким WSGI сервера Вам можуть використовувати.
Сервер wsgiref основі встановлюється як Офелія-wsgiref виконуваний файл, якщо встановлено Офелія, як яйце з "wsgiref" Екстра включений. Його точка входу сценарій ophelia.wsgi.wsgiref_server.
Самоскид окремих сторінок на стандартний висновок
Виконуваного файлу, який завжди встановлюється з Офелией яйця Офелія-звалище. Цей сценарій має Офелія виводити відповідь, відповідний зазначеному шляху, в і виводить його на sys.stdout, необов'язково з HTTP заголовками. Точка входу скрипта є ophelia.dump.dump.
Обидва сценарії пропонують деякі інструкції з використання при виклику з опцією --help. Вони читають конфігураційний файл; см CONFIGURATION.txt для деталей.
Які сайтів Офелія гарні?
Статичний контент
Розглянемо Офелію, як SSI на наркотики. Це принципово не відрізняється, просто багато дружелюбнее і більш здатними.
Використовуйте Офелія для сайтів, де ви в основному Напишіть HTML себе, крім того, що вам потрібно написати повторюване речі тільки один раз. Зниження повторення до нуля поставляється за ціною: ваш сайт повинен слідувати шаблон для Офелії, щоб об'єднати свої шаблони на правильному шляху.
Розглянемо схему вашого сайту, щоб бути ієрархічними: є загальний погляд на всі сторінки, розділи мають певні характеристики, і кожна сторінка має унікальний контент. Дуже важливо, щоб Офелії, що ця ієрархія відображає в файлової системі організації документів; як шаблони об'єднати виводиться з їхніх місць в ієрархії каталогів.
Динамічний вміст
Офелія робить мову Python, доступних для включення динамічного контенту. Кожен файл шаблону може містити скрипт на Python. Скрипти на Python і шаблони, що сприяють частки сторінку загальний набір змінних модифікувати і використовувати.
Модель вмісту Офелії дуже проста і працює краще, якщо кожен об'єкт зміст публікації є її власна точка зору: сторінка представляється на. Якщо ви отримуєте контенту з зовнішніх ресурсів в будь-якому випадку (наприклад, бази даних або сховища контролю версій), це ще нормально використовувати Офелію навіть з кількома видами на об'єкт контента до тих пір, як представлення об'єкта перераховуються не залежать від типу об'єкта або навіть об'єкт Сам.
Спроба використати Офелію на більш складного сайту призведе до потворним заплутаності логіки і уявлення. Не використовуйте Офелію для сайтів, які насправді є веб-інтерфейси для додатків, системи управління контентом тощо.
Як Офелія працює
Файли шаблонів
Для кожного запиту, Офелія виглядає для декількох файлів шаблонів. Вона приймає один файл з ім'ям "__init__" з кожного каталогу на шляху від кореневого каталогу сайту на сторінку, і остаточне один для самої сторінки. Запит подається на Офелії, якщо встановлено, що остаточне шаблон.
При побудові сторінку, шаблон сторінці є оцінюватися і його зміст зберігаються в так званому внутрішній слот. Тоді кожен шаблон на зворотному шляху зі сторінки до кореня оцінюється в свою чергу, і може включати в себе поточний зміст внутрішньої слота. Результат зберігається у внутрішньому слоті після кожного кроку.
Результат обробки кореневої шаблон подається в сторінку.
Скрипти на Python
Кожен файл шаблону може почати зі сценарію Python. У цьому випадку, скрипт відділяється від шаблону першої виникнення "" Тегу на лінії власної (для пробілами, за винятком вліво або вправо). Якщо файл шаблону містить тільки скрипт на Python, але насправді не шаблон, покласти "" В останньому рядку.
Скрипти на Python виконуються відповідно до при обході від кореневого каталогу сайту на сторінку. Вони виконуються в тому ж просторі імен змінних, які в подальшому використовується в якості контексту оцінки шаблонів. Змінні, які встановлені за допомогою скрипта Python можуть бути використані і модифіковані будь-яких сценаріїв, що запускаються пізніше, а також розповідями виразів, що використовуються в шаблонах.
Імен инициализируется Офелії з однією змінною, __request__, яка посилається на об'єкт запиту. Таким чином, сценарії мають доступ до деталей запиту і обходу внутрішніх органів. На додаток до установки змінних, скрипти можуть також імпортувати модулі, визначати функції, доступ до файлової системи, і взагалі робити що-небудь програма Python може зробити.
Як Офелія поводиться
URL канонізації і перенаправлення
Якщо Офелія зустрічає URL, який відповідає каталогу Він поводиться так само, як Apache в конфігурації за замовчуванням: Якщо URL не закінчується з косою риси, він буде перенаправляти браузер, щоб додати косу риску. Якщо коса риса є, він буде намагатися знайти шаблон з ім'ям index.html за замовчуванням, і зробити його в якості довідника "Index".
Залежно від конфігурації, явні запити на індекс каталогу сторінок може бути перенаправлений народила URL-адреси каталогу без завершальному відрізку шляху. Це перетворить в.
Крім того, Офелія канонізує URL-адрес, що містять сегменти контуру "." і ".." відповідно до RFC 3986 на загальних синтаксису URI, і видаляє порожні сегменти контуру, які не в кінці шляху. Якщо URL змінюється за цими правилами, Офелія перенаправляє браузер відповідним чином.
Оброблювач mod_python
Apache2 обробляє запит поетапно, кожен з яких може бути оброблюваних модулів, таких як mod_python. Офелія забезпечує обробник mod_python для фази генерації контенту. Якщо прохання URL налаштований бути оброблені Офелії, обробник намагається знайти відповідні шаблони в файлової системі, і побудувати сторінки з них.
Mod_python обробник Офелії ніколи не викликає помилку Файл не знайдено HTTP. Замість цього, він передає управління назад Apache та інших модулів, якщо він вважає, що не може побудувати певний ресурс. Apache падає назад на служіння статичного контенту з диска в цьому випадку. Офелія Таким чином, можна встановлювати поверх статичного сайту, для обробки цих запитів, для яких шаблони існують в каталозі шаблонів

Вимоги :.

  • Python

Інші програми розробника Thomas Lotze

tl.testing
tl.testing

15 Apr 15

tl.pkg
tl.pkg

15 Apr 15

Ophelia

Коментар не знайдено
додати коментар
Включіть картинки!