zope.pagetemplate е модул, който осигурява елегантен механизъм темплейт, който постига чисто отделяне на представянето и логиката на приложението & Nbsp; същевременно позволява на дизайнерите да работят с шаблони в своите визуални инструменти за редактиране (FrontPage, Dreamweaver, GoLive и т.н.).
<Силен> подробна документация
ЗПТ (Zope Page-Template) Архитектура
Има редица важни компоненти, които изграждат структурата на страница-шаблон:
- Компилаторът TAL и преводач. Това е отговорна за съставянето изходни файлове и за изпълнение, съставени шаблони. Вижте zope.tal пакета за повече информация.
- Израз на двигателя е отговорна за съставянето изрази и за създаване на изпълнителни изразяване контексти. Той е общ за приложения да имат приоритет експресивни двигатели за предоставяне на потребителски изразяване подкрепа или да променят начина, изрази се прилагат. Пакетът zope.app.pagetemplate използва това, за да приложи голямо доверие и ненадежден оценка; различен двигател се използва за всеки, с различни изпълнения от същия тип на изразяване.
- Expression контексти подкрепят изпълнението на изразяване и осигуряват APIs за създаване на променливи обхват и създаване променливи. Контексти на експресия се предават на преводача TAL по време на изпълнение.
- Най-често се използва прилагането експресия е установено, че в zope.tales.
- Шаблони Страница вратовръзка всичко заедно. Те се съберат израз двигател с преводача TAL и оркестрира управление на източника и събрани данни шаблон. Вижте zope.pagetemplate.interfaces.
Templates Страница
<Силен> Въведение
Templates Страница осигуряват елегантен механизъм темплейт, който постига чисто отделяне на представянето и логиката на приложението в същото време позволява на дизайнерите да работят с шаблони в своите визуални инструменти за редактиране (FrontPage, Dreamweaver, GoLive и т.н.).
Този документ се фокусира върху използването на Page Templates извън контекста Zope, това не обяснява как да пиша шаблони на страници, тъй като има няколко ресурси в интернет, които го правят.
<Силен> Обикновено употребата
Използването Page Templates извън Zope3 е много лесно и право напред. Един бърз пример:
>>> От zope.pagetemplate.pagetemplatefile внос PageTemplateFile
>>> My_pt = PageTemplateFile ("hello_world.pt")
>>> My_pt ()
ф " <тялото> Hello World тялото> "
<Силен> Subclassing PageTemplates
Да кажем, ние искаме да се променят шаблони на страници, така че аргументите на ключовите думи се появяват като топ позиции ниво в пространството от имена. Ние можем да подклас PageTemplate и да променят поведението по подразбиране на pt_getContext (), за да ги добавите в:
от zope.pagetemplate.pagetemplate внос PageTemplate
клас mypt (PageTemplate):
& Nbsp; ДЕФ pt_getContext (самостоятелно, аргументи = (), опции = {}, ** kw):
& Nbsp; rval = PageTemplate.pt_getContext (самостоятелно, опцията = опцията)
& Nbsp; options.update (rval)
& Nbsp; възможности за връщане
клас Foo:
& Nbsp; Def getContents (самостоятелно): връщане "здрасти"
Така че сега можем да се свързват обекти в по-произволно, като следното:
шаблон = "" "
<Тялото>
<Б Тал: замени = "das_object / getContents"> Good Stuff Тук
Тялото>
"" "
pt = mypt ()
pt.write (по образец)
pt (das_object = Foo ())
Вижте interfaces.py
Какво ново в тази версия:.
- Заменен отхвърлена ползване zope.interface.classProvides с равностоен Zope .interface.provider декоратор.
- Заменен отхвърлена ползване zope.interface.implements с равностоен zope.interface.implementer декоратор.
- Окачен подкрепа за Python 2.4 и 2.5.
- PageTemplate.pt_render () има нов аргумент, check_macro_expansion, неизправната да True.
- PageTemplateTracebackSupplement минава check_macro_expansion = False, за да се избегне LP # 732972.
<силни> Какво ново във версия 3.6.3:
- Фиксирана тестови твърдения да бъдат съвместими с zope.tal 3.6.
Какво ново във версия 3.6.1:.
- Фиксирана проблем с липсваща стойност по подразбиране за strictinsert
Какво ново във версия 3.6.0:
- Заменен StringIO клас поток с по-бърз списък базирани изпълнение.
- Резюме на двигателя и програмни интерфейси и позволяват подмяна изпълнение чрез регистрация полезност шаблон.
- Премахнато древна авторското право от тестови файлове (LP: # 607228)
<силни> Изисквания
- Python
Коментари не е намерена