zope.pagetemplate on moduuli, joka tarjoaa tyylikkään mallineaineen mekanismi, joka saavuttaa puhtaan erottaminen esittely ja sovelluslogiikka & nbsp; samalla suunnittelijoiden työskennellä malleja niiden visuaalisen muokkaustyökalut (FrontPage, Dreamweaver, GoLive, jne).
Yksityiskohtainen dokumentaatio
ZPT (Zope Sivu-malli) Arkkitehtuuri
On olemassa useita merkittäviä osia, jotka muodostavat sivun-mallin arkkitehtuuri:
- TAL kääntäjä ja tulkki. Tämä vastaa kokoamiseen lähde tiedostoja ja toteuttamisesta koottu malleja. Katso zope.tal paketin lisätietoja.
- Ilmaisu moottori vastaa laatimisesta ilmaisuja ja luoda ilme suorittamisen yhteyksissä. On tavallista, että sovellusten ohittaa ilmaisun moottoreita tarjota mukautettuja ilmaisun tukea tai muuttaa tapaa ilmaisuja pannaan täytäntöön. Zope.app.pagetemplate Paketti käyttää tätä toteuttaa luotettava ja epäluotettava arviointi; Eri moottoria käytetään kunkin, eri toteutusten samantyyppistä ilmaisuja.
- Expression yhteyksissä tukea toteuttamista ilmauksia ja tarjoavat API perustamiseen muuttujan laajuuksia ja asettamalla muuttujat. Ilmaisu kontekstit välitetään TAL tulkki suorituksen aikaan.
- Yleisimmin käytetty ilmaus toteutus on, että löytyy zope.tales.
- Page malleja sitoa kaiken yhdessä. Ne kokoavat lauseke moottorin TAL tulkin ja järjestää hallinnan lähteestä ja kootaan mallin tiedot. Katso zope.pagetemplate.interfaces.
Sivumallit
Esittely
Page Mallit tarjoavat elegantin mallineaineen mekanismi, joka saavuttaa puhtaan erottaminen esittely ja soveltaminen logiikka samalla suunnittelijoiden työskennellä malleja niiden visuaalisen muokkaustyökalut (FrontPage, Dreamweaver, GoLive, jne).
Tässä asiakirjassa keskitytään käytöstä Sivumallit ulkopuolella Zope yhteydessä, se ei selitä, miten kirjoittaa sivupohjia koska on olemassa useita resursseja Webissä, joka tehdä niin.
Yksinkertainen Käyttö
Käyttämällä Sivumallit ulkopuolella Zope3 on erittäin helppoa ja suoraviivaista. Nopea esimerkki:
>>> Alkaen zope.pagetemplate.pagetemplatefile tuonti PageTemplateFile
>>> My_pt = PageTemplateFile ('hello_world.pt')
>>> My_pt ()
u '
Subclassing PageTemplates
Sanotaan haluamme muuttaa sivupohjia siten, että avainsana argumentit näkyvät huipputason kohteita nimiavaruudessa. Voimme alaluokka PageTemplate ja muuttaa oletuksena käyttäytymistä pt_getContext () lisätä niitä:
alkaen zope.pagetemplate.pagetemplate tuonti PageTemplate
luokan mypt (PageTemplate):
& Nbsp; def pt_getContext (itse, args = (), optiot = {}, ** kW):
& Nbsp; rval = PageTemplate.pt_getContext (itse, args = args)
& Nbsp; options.update (rval)
& Nbsp; tuotto vaihtoehtoja
class foo:
& Nbsp; def getContents (itse): paluu "hei"
Joten nyt voimme sitoa objektien entistä mielivaltaisesti, kuten seuraavat:
template = "" "
Good Stuff Here
"" "
pt = mypt ()
pt.write (template)
pt (das_object = foo ())
Katso interfaces.py.
Mikä on uusi tässä julkaisussa:
- Vaihdettu vanhentunut zope.interface.classProvides käyttö vastaavia zope .interface.provider sisustusarkkitehti.
- Vaihdettu vanhentunut zope.interface.implements käyttö vastaavia zope.interface.implementer sisustajalle.
- Pudonnut Python 2.4 ja 2.5.
- PageTemplate.pt_render () on uusi väite, check_macro_expansion, oletuksena True.
- PageTemplateTracebackSupplement kulkee check_macro_expansion = False, jotta vältetään LP # 732972.
Mikä on uusi versiossa 3.6.3:
- Kiinteä testin väitteitä yhteensopivaksi zope.tal 3.6.
Mikä on uusi versiossa 3.6.1:
- Korjattu ongelma puuttuvien oletusarvo strictinsert.
Mikä on uusi versiossa 3.6.0:
- Vaihdettu StringIO stream luokassa nopeamman list-pohjainen täytäntöönpano.
- tiivistelmä malli irti moottorin ja ohjelman rajapinnat ja niiden täytäntöönpano korvaaminen kautta apuohjelma rekisteröinnin.
- Poistettu antiikin tekijänoikeus koe tiedostoja (LP: # 607228)
vaatimukset
- Python
Kommentteja ei löytynyt