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 для веб-сервера Apache2.
Файлы документации, приведенные ниже, можно найти в директории пакета, наряду с рядом doctests для модулей.
точки Вступление
После того как вы установили Офелия и написал несколько шаблонов, как вы можете сделать это делают веб-страницы?
Используйте Офелия с Apache
Пакет Python содержит модуль ophelia.modpython, что обеспечивает обработчик запроса для модуля mod_python Apache.
Используйте Офелия в качестве приложения WSGI
Офелия определяет класс приложений, совместимых со стандартом WSGI, ПКП 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, который соответствует каталогу он ведет себя так же, как Apache в конфигурации по умолчанию: Если URL не заканчивается с косой черты, он будет перенаправлять браузер, чтобы добавить косую черту. Если черта есть, он будет пытаться найти шаблон с именем index.html по умолчанию, и сделать его в качестве справочника "индекса".
В зависимости от конфигурации, явные запросы на индекс каталога страниц может быть перенаправлен на 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

Комментарии не найдены
добавить комментарий
Включите картинки!