zope.pagetemplate ay isang module na nagbibigay ng isang eleganteng templating mekanismo na achieves ng isang malinis na paghihiwalay ng pagtatanghal at application na lohika & nbsp; habang nagpapahintulot para sa designer upang gumana sa mga template sa kanilang mga visual na mga tool sa pag-edit (FrontPage, Dreamweaver, GoLive, atbp.)
Detalyadong Documentation
ZPT (Zope Page-Template) Architecture
Mayroong isang bilang ng mga pangunahing sangkap na bumubuo sa architecture page-template:
- Ang TAL tagatala at interpreter. Ito ay responsable para sa pag-ipon ng source file at para sa Isinasagawa ang mga template naipon. Tingnan ang zope.tal pakete para sa karagdagang impormasyon.
- Isang expression engine ay responsable para sa pag-ipon ng mga expression at para sa paglikha ng konteksto ng pagpapatupad expression. Ito ay karaniwan para sa mga application upang i-override engine expression upang magbigay ng suporta custom expression o upang baguhin ang paraan ng expression ay ipinatupad. Ang zope.app.pagetemplate package na ito ay gumagamit upang ipatupad pinagkakatiwalaang at iluluklok na di katiwalang pagsusuri; ng ibang engine ay ginagamit para sa bawat isa, na may iba't ibang mga pagpapatupad ng ang parehong uri ng mga expression.
- Support konteksto Expression pagpapatupad ng mga expression at magbigay ng mga API para sa pagse-set up variable scopes at pagtatakda ng mga variable. Ang konteksto expression ay lumipas na ang TAL interpreter sa oras ng pagpapatupad.
- Ang pinaka-karaniwang ginagamit na pagpapatupad expression ay na natagpuan sa zope.tales.
- Template Page itali ang lahat. Magtipon sila ng isang expression engine na may mga TAL interpreter at mamigay ng pamamahala ng source at naipon data template. Tingnan zope.pagetemplate.interfaces.
Templates Page
Panimula
Templates Page magbigay ng isang eleganteng templating mekanismo na achieves ng isang malinis na paghihiwalay ng pagtatanghal at application na lohika habang nagpapahintulot para sa designer upang gumana sa mga template sa kanilang mga visual na mga tool sa pag-edit (FrontPage, Dreamweaver, GoLive, atbp.)
Ang dokumentong ito ay tumutuon sa paggamit ng Page Template sa labas ng isang Zope konteksto, ito ay hindi ipaliwanag kung paano sumulat ng mga template ng pahina na may ilang mga mapagkukunan sa web na gawin ito.
Simple Usage
Paggamit ng Mga template Page labas ng Zope3 ay tunay madali at tuwid forward. Ang isang mabilis na halimbawa:
>>> Mula zope.pagetemplate.pagetemplatefile import PageTemplateFile
>>> My_pt = PageTemplateFile ('hello_world.pt')
>>> My_pt ()
u '
Subclassing PageTemplates
Hinahayaan sabihin na gusto naming baguhin ang mga template ng pahina tulad na argumento keyword ay lilitaw bilang top item sa namespace level. Maaari naming subclass PageTemplate at baguhin ang default na pag-uugali ng pt_getContext () upang idagdag ang mga ito sa:
mula zope.pagetemplate.pagetemplate import PageTemplate
klase mypt (PageTemplate):
& Nbsp; def pt_getContext (self, args = (), options = {}, ** kw):
& Nbsp; rval = PageTemplate.pt_getContext (self, args = args)
& Nbsp; options.update (rval)
& Nbsp; opsyon return
klase foo:
& Nbsp; def getContents (self): bumalik 'hi'
Kaya ngayon maaari naming panagutin ang mga bagay sa isang mas arbitrary fashion, tulad ng sumusunod:
template = "" "
Good Stuff Here
"" "
pt = mypt ()
pt.write (template)
pt (das_object = foo ())
Tingnan interfaces.py
Ano ang bago sa release na ito.
- Pinalitan paggamit pinapagamit zope.interface.classProvides may katumbas zope .interface.provider dekorador.
- Pinalitan paggamit pinapagamit zope.interface.implements may katumbas zope.interface.implementer dekorador.
- Bumaba ang suporta para sa Python 2.4 at 2.5.
- PageTemplate.pt_render () ay may isang bagong argument, check_macro_expansion, defaulting sa True.
- magbabalik PageTemplateTracebackSupplement check_macro_expansion = Mali, upang maiwasan ang LP # 732972.
Ano ang bago sa bersyon 3.6.3:
- Mga Fixed test assertions upang makibagay sa zope.tal 3.6.
Ano ang bago sa bersyon 3.6.1.:
- Mga Fixed isyu sa nawawalang default na halaga para strictinsert
Ano ang bago sa bersyon 3.6.0:
- Pinalitan StringIO stream klase sa isang mas mabilis na batay list- pagpapatupad.
- Abstract ang template engine at programa ng interface at payagan ang pagpapatupad ng kapalit sa pamamagitan ng isang registration utility.
- Inalis sinaunang copyright mula sa pagsubok ng mga file (LP: # 607228)
Kinakailangan :
- sawa
Mga Komento hindi natagpuan