zope.paste ay isang pakete na nagbibigay-daan sa iyo upang
- Gamitin ang WSGI middlewares sa loob ng isang Zope 3 application
--Deploy ang Zope 3 application server sa anumang may kakayahang WSGI-webserver
gamit PasteDeploy. Ang mga ito ay dalawang ganap na magkaibang modi operandi kung saan ay mayroon lamang sa mga karaniwang na sila ay mapadali PasteDeploy. Ang bawat isa ay ipinaliwanag nang detalyado sa ibaba.
WSGI middlewares loob Zope 3
Binibigyang-daan ka zope.paste mong stack WSGI middlewares sa tuktok ng application publisher Zope 3 nang hindi binabago ang paraan configure mo Zope (zope.conf) o patakbuhin ito (runzope, zopectl).
Configuration ay napaka-simple. Sa pag-aakala na nakalikha ka na ng isang Zope 3 halimbawa ng paggamit ng mkzopeinstance script, mayroong tatlong hakbang na kailangan upang maisagawa ang:
Pag-install at pag-configure ng zope.paste
Maaari zope.paste-install bilang isang itlog saanman sa iyong PYTHONPATH o sa simpleng bumaba sa iyong
Pag-configure ng server
Lumikha kami ng isang
& Nbsp; uri Paste.Main
& Nbsp; address 8081
Pag-configure ng WSGI stack
Ngayon i-configure kami ng WSGI application gamit PasteDeploy syntax sa
[App: Paste.Main]
paste.app_factory = zope.paste.application: zope_publisher_app_factory
Iyan ay hindi talagang kawili-wiling, bagaman. Binibigyang-daan ka PasteDeploy mong chain iba't ibang mga entity WSGI-sama, na kung saan kagiliw-giliw na ito ay nakakakuha. Mukhang isang pagkakaiba sa pagitan ng 'apps' at 'filter' (tinutukoy din bilang 'middleware'). Isang halimbawa na maaaring maging ng interes ay naglalapat ng isang XSLT pagbabago sa output ng Zope 3 WSGI application.
Sa kabutihang-palad sapat, ang isang tao ay mukhang nag na ng isang filter WSGI para sa paglalapat ng isang XSLT stylesheet. Maaari mong mahanap ito sa http://www.decafbad.com/2005/07/xmlwiki/lib/xmlwiki/xslfilter.py
Kung nais mong mag-apply ito WSGI filter upang Zope 3, kakailanganin mo ang tatlong bagay:
1. Ilagay ang xslfilter.py file sa isang lugar sa PYTHONPATH. / Lib / python ay isang magandang lugar.
2. Idagdag ang snippet sa ibaba ng xslfilter.py:
& Nbsp; def filter_factory (global_conf, ** local_conf):
& Nbsp; filter def (app):
& Nbsp; bumalik XSLFilter (app)
& Nbsp; return filter
3. Baguhin ang paste.ini file gaya ng mga sumusunod:
& Nbsp; [pipeline: Paste.Main]
& Nbsp; pipeline = XSLT pangunahing
& Nbsp; [app: pangunahing]
& Nbsp; paste.app_factory = zope.paste.application: zope_publisher_app_factory
& Nbsp; [filter: XSLT]
& Nbsp; paste.filter_factory = xslfilter: filter_factory
& Nbsp; Ano ang ginagawa ay upang tukuyin ang isang pipeline. Matuto nang higit pa tungkol ito sa PasteDeploy website. Sumangguni sa ang pinagmulan ng xslfilter.py para sa impormasyon tungkol sa kung paano pumasa sa isang stylesheet sa filter.
-deploy ng Zope 3 sa isang may kakayahang WSGI-webserver
zope.paste ay nagbibigay-daan sa iyo upang magpatakbo ng Zope 3 sa anumang may kakayahang WSGI-webserver software gamit ang PasteDeploy. Para sa mga ito ay hindi mo na kailangan ang isang halimbawa Zope 3 (bagama't maaari pa ring mayroon kang isa), hindi mo na-configure Zope 3 sa pamamagitan ng zope.conf at hindi magsisimulang ito gamit runzope o zopectl.
Pag-configure ng application
zope.paste ay nagbibigay ng isang PasteDeploy-tugma ang factory para sa application WSGI publisher Zope 3 at nagrerehistro ito sa isang entry point. Maaari samakatuwid namin lumikha ng isang napaka-simpleng Zope 3 application sa isang PasteDeploy configuration file (eg paste.ini):
[App: pangunahing]
paggamit = itlog: zope.paste
site_definition = /path/to/site.zcml
file_storage = /path/to/Data.fs
devmode = sa
Sa kasong ito, /path/to/site.zcml ay tumutukoy sa isang site.zcml bilang kilala mula sa isang halimbawa Zope 3. Maaari mong, halimbawa, ilagay paste.ini sa isang umiiral na Zope 3 Halimbawa, sa tabi ng site.zcml.
Pag-configure ng ZODB database
Sa halip na nagre-refer sa isang ZODB FileStorage gamit ang setting ng file_storage, maaari mo ring i-configure ang maramihang o iba pang backends database ZODB sa isang ZConfig-style configuration file (tulad ng zope.conf), hal Kino-configure ang sumusunod isang ZEO kliyente:
& Nbsp;
& Nbsp; localhost server: 8100
& Nbsp; imbakan 1
& Nbsp; cache-size na 20MB
& Nbsp;
Sumangguni sa ang file na ito mula sa paste.ini ganitong paraan (at tanggalin ang mga setting file_storage):
db_definition = db.conf
Pag-configure ng server
Upang magagawang gamitin ang aming Zope application, kailangan lamang namin upang magdagdag ng isang kahulugan ng server. Maaari naming gamitin ang isa na ay may Idikit o PasteScript, sa halip:
[Server: pangunahing]
paggamit = itlog: PasteScript # wsgiutils
-host = 127.0.0.1
port = 8080
Ngayon ay maaari naming simulan ang application gamit ang paster utos na ito ay may PasteScript:
& Nbsp; paster maghatid paste.ini
WSGI middlewares maaaring i-configure tulad ng inilarawan sa itaas o sa PasteDeploy website
Ano ang bagong sa paglabas:.
- Nagdagdag ng suporta para sa Python 3.3.
- -drop na suporta para sa Python 2.4 at 2.5.
- Inalis ang suporta para sa mga gumagamit ng WSGI middlewares sa loob ng isang Zope 3 application. Tanging ang server startup script-based ay suportado na ngayon.
- Nagdagdag ng bagong console script upang magpatakbo ng isang i-paste-configure WSGI server at application.
- sumusunod sa karaniwang layout ZF proyekto.
- Added lisensya at file sa copyright. Naayos na rin pahayag copyright sa header na file.
- Added MANIFEST.in at tox.ini.
Ano ang bagong sa bersyon 0.4:
- Idagdag ang changelog, reconstructed mula svn logs at naglalabas ng mga petsa sa PyPI.
- Sinusuportahan ng config pagpipiliang 'mga tampok' sa PasteDeploy INI file, na maaaring maglaman ng isang space-separated list ng mga pangalan ng tampok na ito. Ang mga maaaring subukan ang para sa ZCML mga file na may syntax.
- Sa nakaraan lamang ang tampok na ma-enable noon ay 'devmode' at ito ay may sarili nitong opsyon. Para sa paurong compatibility, devmode = sa nagdadagdag ng isang tampok na 'devmode' sa listahan ng tampok.
Mga Kinakailangan :
- Python
Mga Komento hindi natagpuan