zope.paste er en pakke som lar deg
- Ansette WSGI middlewares inne i en Zope tre søknad
- Distribuere Zope tre applikasjonsserver på noen WSGI-stand webserver
hjelp PasteDeploy. Dette er to helt forskjellige modi operandi som bare har til felles at de er lette PasteDeploy. Hver er forklart i detalj nedenfor.
WSGI middlewares inne Zope 3
zope.paste kan du stable WSGI middlewares på toppen av Zope 3 utgiver søknad uten å endre måten du konfigurere Zope (zope.conf) eller kjøre den (runzope, zopectl).
Konfigurasjonen er svært enkel. Forutsatt at du allerede har opprettet en Zope 3 forekomst ved hjelp av mkzopeinstance manus, er det tre trinn som må utføres:
Installere og konfigurere zope.paste
zope.paste kan installeres som et egg hvor som helst på din PYTHONPATH eller bare droppet inn ditt
Konfigurering av server
Vi skaper en
& Nbsp; typen Paste.Main
& Nbsp; adresse 8081
Konfigurere WSGI stabel
Nå konfigurere vi en WSGI program som bruker PasteDeploy syntaks i
[App: Paste.Main]
paste.app_factory = zope.paste.application: zope_publisher_app_factory
Det er egentlig ikke interessant, skjønt. PasteDeploy lar deg kjede ulike WSGI enheter sammen, og det er her det blir interessant. Det synes å være et skille mellom "apps" og "filtre" (også referert til som "mellomvare"). Et eksempel som kan være av interesse er å bruke en XSLT transformasjon til utgangen av Zope 3 WSGI søknad.
Lykkelig nok, noen synes å har allerede opprettet en WSGI filter for å bruke en XSLT stilark. Du kan finne det på http://www.decafbad.com/2005/07/xmlwiki/lib/xmlwiki/xslfilter.py
Hvis du ønsket å bruke dette WSGI filter til Zope 3, ville du trenger tre ting:
1. Sett xslfilter.py fil et sted i PYTHONPATH. / Lib / python er et bra sted.
2. Legg dette tekstutdraget til bunnen av xslfilter.py:
& Nbsp; def filter_factory (global_conf, ** local_conf):
& Nbsp; def filtrere (app):
& Nbsp; returnere XSLFilter (app)
& Nbsp; returfilter
3. Endre paste.ini fil som følger:
& Nbsp; [rørledning: Paste.Main]
& Nbsp; rørledning = XSLT hoved
& Nbsp; [app: main]
& Nbsp; paste.app_factory = zope.paste.application: zope_publisher_app_factory
& Nbsp; [filter: XSLT]
& Nbsp; paste.filter_factory = xslfilter: filter_factory
& Nbsp; Hva dette er å definere en rørledning. Lær mer om dette på PasteDeploy hjemmeside. Henvise til kilden xslfilter.py for informasjon om hvordan du passerer et stilark til filteret.
Distribuere Zope 3 på en WSGI-stand webserver
zope.paste lar deg kjøre Zope 3 på noen WSGI-stand webserver programvare ved hjelp PasteDeploy. For dette vil du ikke lenger trenger en Zope 3 eksempel (men du kan fortsatt ha en), vil du ikke konfigurere Zope 3 gjennom zope.conf og vil ikke starte det ved hjelp runzope eller zopectl.
Konfigurerer programmet
zope.paste gir en PasteDeploy-kompatibel fabrikk for Zope 3 sin WSGI utgiver søknad og registrerer den i et inngangspunkt. Vi kan derfor lage en veldig enkel Zope 3 program i en PasteDeploy konfigurasjonsfil (f.eks paste.ini):
[App: main]
bruk = egg: zope.paste
site_definition = /path/to/site.zcml
file_storage = /path/to/Data.fs
devmode = på
I dette tilfellet refererer /path/to/site.zcml til en site.zcml som kjent fra en Zope 3-forekomst. Du kan for eksempel sette paste.ini i et eksisterende Zope 3 eksempel, ved siden av site.zcml.
Konfigurere ZODB database
I stedet for å henvise til en ZODB fillager bruker file_storage innstillingen, kan du også konfigurere flere eller andre ZODB database backends i en ZConfig-stil konfigurasjonsfil (mye som zope.conf), f.eks følgende konfigurerer et Zeo klient:
& Nbsp;
& Nbsp; server localhost: 8100
& Nbsp; lagring 1
& Nbsp; cache-størrelse 20 MB
& Nbsp;
Henvise til denne filen fra paste.ini denne måten (og slett file_storage innstilling):
db_definition = db.conf
Konfigurering av server
For å kunne bruke vår Zope søknad, vi trenger bare å legge til en server definisjon. Vi kan bruke den som kommer med Paste eller PasteScript, heller:
[Serveren: main]
bruk = egg: PasteScript # wsgiutils
vert = 127.0.0.1
port = 8080
Nå kan vi starte programmet ved hjelp av paster kommando som kommer med PasteScript:
& Nbsp; paster tjene paste.ini
WSGI middlewares kan konfigureres som beskrevet ovenfor eller på PasteDeploy nettsted
Hva er nytt i denne utgaven:.
- Lagt til støtte for Python 3.3.
- Droppet støtte for Python 2.4 og 2.5.
- Fjernet støtte for å ansette WSGI middlewares inne en Zope tre søknad. Bare manuset-basert server oppstart er nå støttet.
- Lagt til en ny konsoll skript for å kjøre en lime-konfigurert WSGI server og applikasjon.
- Conform til standard ZF prosjekt layout.
- Lagd lisens og opphavsrett fil. Også fast opphavsrett i filen overskrifter.
- Lagd MANIFEST.in og tox.ini.
Hva er nytt i versjon 0.4:
- Legg til denne changelog, rekonstruert fra svn logger og slipp datoer PyPI.
- Støtte en 'funksjoner' config alternativ i PasteDeploy INI-fil, som kan inneholde en space-separert liste over funksjonsnavn. Disse kan bli testet for i ZCML filer med syntaksen.
- Tidligere den eneste funksjonen som kan aktiveres var 'devmode ", og det hadde sin egen alternativet. For bakoverkompatibilitet, devmode = på legger en 'devmode "-funksjonen til funksjonsliste.
Krav :
- Python
Kommentarer ikke funnet