zope.pagetemplate je modul, který poskytuje elegantní templátového mechanismus, který dosahuje čisté oddělení prezentační a aplikační logiku & nbsp; a zároveň umožňuje návrhářům pracovat se šablonami ve svých vizuálních nástrojů pro úpravy (FrontPage, Dreamweaver, GoLive, atd.)
podrobnou dokumentaci
ZPT (Zope Page Template-) Architektura
Existuje řada hlavních komponentů, které tvoří architekturu strana-šablony:
- TAL kompilátor a interpret. To je odpovědný za sestavení zdrojových souborů a pro provádění zkompilované šablony. Viz zope.tal balíček pro více informací.
- Výraz motor je odpovědný za sestavení výrazy a pro vytváření spuštění výraz kontextů. Je běžné, že žádosti potlačit výraz motory poskytovat technickou podporu výraz, nebo změnit způsob, jakým výrazy jsou implementovány. Balíček zope.app.pagetemplate používá toto provést důvěryhodné a nedůvěryhodné hodnocení; jiný motor je použita pro každý, s různými implementací stejného typu výrazů.
- Expresní kontexty podporují provádění výrazů a poskytují API pro nastavení variabilní obory a nastavení proměnných. Expresní kontexty jsou předány TAL tlumočníka v době provádění.
- Nejčastěji používané provedení je to, že výraz nachází v zope.tales.
- Šablony Page svázat všechno dohromady. Oni sestavit výraz motor s tlumočníkem TAL a organizovat správu zdroje a sestavil údaje šablony. Viz zope.pagetemplate.interfaces.
Page Šablony
Úvod
Page Šablony poskytují elegantní templátového mechanismus, který dosahuje čisté oddělení logiky prezentační a aplikační a zároveň umožňuje návrhářům pracovat se šablonami ve svých vizuálních nástrojů pro úpravy (FrontPage, Dreamweaver, GoLive, atd.)
Tento dokument se zaměřuje na využití Strana šablon mimo kontextu Zope, to nevysvětluje, jak psát šablony stránek jako existuje několik zdrojů na internetu, které tak učinily.
Jednoduché Použití
Použití Předlohy stránek mimo Zope3 je velmi jednoduché a přímočaré. Rychlý příklad:
>>> Z zope.pagetemplate.pagetemplatefile import PageTemplateFile
>>> My_pt = PageTemplateFile ('hello_world.pt')
>>> My_pt ()
u "
subclassing PageTemplates
Řekněme, že chceme změnit šablony stránek tak, že klíčové slovo argumenty se jeví jako špičkoví položky úrovně v oboru názvů. Můžeme podtřídy PageTemplate a změnit výchozí chování pt_getContext (), přidat je do:
od zope.pagetemplate.pagetemplate import PageTemplate
třída mypt (PageTemplate):
& Nbsp; def pt_getContext (self, args = (), options = {}, ** kw):
& Nbsp; rval = PageTemplate.pt_getContext (self, args = args)
& Nbsp; options.update (rval)
& nbsp; return možnosti
třída foo:
& nbsp; def getContents (self): return "hi"
Takže teď můžeme vázat objekty ve více svévolně, stejně jako následující:
template = "" "
Good Stuff Zde
"" "
pt = mypt ()
pt.write (šablona)
pt (das_object = foo ())
Viz interfaces.py
Co je nového v této verzi:.
- Nahradil zastaralé využití zope.interface.classProvides s rovnocenným Zope .interface.provider dekoratér.
- Nahradil zastaralé využití zope.interface.implements s rovnocenným zope.interface.implementer dekoratér.
- Ukončení podpory pro Python 2.4 a 2.5.
- PageTemplate.pt_render () má nový argument, check_macro_expansion, prodlení na hodnotu true.
- PageTemplateTracebackSupplement prochází check_macro_expansion = False, aby se zabránilo LP # 732972.
Co je nového ve verzi 3.6.3:
- Pevná zkušební tvrzení, aby byla kompatibilní s zope.tal 3.6.
Co je nového ve verzi 3.6.1:.
- Oprava problému s chybí výchozí hodnotu pro strictinsert
Co je nového ve verzi 3.6.0:
- Nahrazeno StringIO potok třída s rychlejší seznam bázi implementace.
- Abstrakt z motoru a programové rozhraní šablony a umožnění výměny implementace prostřednictvím zápisu užitného.
- Odstraněno starověký copyright z testovacích souborů (LP: # 607228)
Požadavky na :
- Python
Komentáře nebyl nalezen