zope.paste ist ein Paket, das Sie erlaubt
- Beschäftigen WSGI Middleware in einer Zope-3-Anwendung
- Bereitstellen der Zope-3-Applikationsserver auf jedem WSGI-fähigen Webserver
Verwendung PasteDeploy. Das sind zwei völlig unterschiedliche Modi Operandi, die nur gemeinsam ist, dass sie zu erleichtern PasteDeploy. Jedes wird nachstehend im Detail erläutert.
WSGI Middle in Zope 3
zope.paste können Sie WSGI Middleware auf der Oberseite des Verlagsanwendung Zope 3 ist ohne Änderung der Art und Weise Sie Zope (zope.conf) konfigurieren oder ausführen (runzope, zopectl) zu stapeln.
Die Konfiguration ist sehr einfach. Unter der Annahme, dass Sie bereits einen Zope-3-Instanz mit dem mkzopeinstance Skript erstellt, gibt es drei Schritte, die durchgeführt werden müssen:
Installieren und Konfigurieren von zope.paste
zope.paste kann wie ein Ei überall auf Ihrem PYTHONPATH installiert werden oder einfach ließ sich in Ihrem
Server konfigurieren
Wir schaffen ein
& Nbsp; Typ Paste.Main
& Nbsp; Adresse 8081
Konfigurieren des WSGI Stapel
Jetzt konfigurieren wir eine Anwendung mit Hilfe WSGI PasteDeploy Syntax
[App: Paste.Main]
paste.app_factory = zope.paste.application: zope_publisher_app_factory
Das ist nicht wirklich interessant, wenn auch. PasteDeploy ermöglicht es Ihnen, verschiedene Ketten WSGI Einheiten zusammen, das ist, wo es interessant wird. Es scheint eine Unterscheidung zwischen "Apps" und "Filter" zu sein (auch als "Middleware" genannt). Ein Beispiel, das von Interesse sein könnten besteht darin, eine XSLT-Transformation, um den Ausgang des Zope 3 WSGI Anwendung.
Glücklicherweise scheint jemand ein WSGI Filter zum Anwenden eines XSLT-Stylesheet erstellt haben. Sie können ihn unter http://www.decafbad.com/2005/07/xmlwiki/lib/xmlwiki/xslfilter.py finden
Wenn Sie diese WSGI Filter, um Zope 3 gelten wollte, braucht man drei Dinge würden:
1. Legen Sie die irgendwo xslfilter.py Datei in PYTHONPATH. / Lib / python ist ein guter Ort.
2. Fügen Sie diesen Ausschnitt auf den Boden des xslfilter.py:
& Nbsp; def filter_factory (global_conf, ** local_conf):
& Nbsp; def filtern (APP):
& Nbsp; zurück XSLFilter (app)
& Nbsp; Rücklauffilter
3. Ändern Sie paste.ini Datei wie folgt:
& Nbsp; [Pipeline: Paste.Main]
& Nbsp; Pipeline = xslt Haupt
& Nbsp; [App: Haupt]
& Nbsp; paste.app_factory = zope.paste.application: zope_publisher_app_factory
& Nbsp; [Filter: xslt]
& Nbsp; paste.filter_factory = xslfilter: filter_factory
& Nbsp; Was das bedeutet ist, eine Pipeline zu definieren. Mehr dazu auf der Website PasteDeploy. Beziehen sich auf die Quelle der xslfilter.py Informationen dazu, wie ein Stylesheet auf den Filter.
Die Bereitstellung Zope 3 auf einer WSGI-fähigen Webserver
zope.paste können Sie Zope 3 auf jedem WSGI fähigen Webserver-Software mit PasteDeploy laufen. Dafür werden Sie nicht mehr benötigen einen Zope 3-Instanz (obwohl Sie immer noch haben), werden Sie Zope 3 nicht konfigurieren durch zope.conf und startet nicht, es mit runzope oder zopectl.
Konfigurieren Sie die Anwendung
zope.paste eine PasteDeploy-kompatiblen Fabrik für WSGI Herausgeber Anwendung Zope 3 und registriert sie in einem Eingangspunkt. Wir können deshalb einen sehr einfachen Zope-3-Anwendung in einem PasteDeploy Konfigurationsdatei (zB paste.ini):
[App: Haupt]
Verwendung = Ei: zope.paste
site_definition = /path/to/site.zcml
file_storage = /path/to/Data.fs
devmode = on
In diesem Fall bezieht sich auf eine /path/to/site.zcml site.zcml wie von einem Zope 3 weise bekannt. Sie können beispielsweise setzen paste.ini in eine bestehende Zope 3 Beispiel neben site.zcml.
Konfigurieren der Datenbank ZODB
Anstatt sich auf eine Filestorage ZODB mit dem file_storage Einstellung können Sie auch mehrere oder andere ZODB Datenbank-Backends in einer ZConfig Stil Konfigurationsdatei (ähnlich wie zope.conf), zB konfigurieren Folgendes konfiguriert ein ZEO-Client:
& Nbsp;
& Nbsp; Server localhost: 8100
& Nbsp; Speicher 1
& Nbsp; Cache-Größe von 20 MB
& Nbsp;
In dieser Datei aus paste.ini auf diese Weise (und die file_storage Einstellung zu löschen):
db_definition = db.conf
Server konfigurieren
Um in der Lage, unsere Zope-Anwendung nutzen zu können, brauchen wir nur eine Serverdefinition hinzuzufügen. Wir können das eine, die mit Paste oder PasteScript, sondern kommt zu verwenden:
[Server: Haupt]
Verwendung = Ei: PasteScript # wsgiutils
Host = 127.0.0.1
port = 8080
Jetzt können wir die Anwendung mit dem Paster Befehl, mit PasteScript kommt zu starten:
& Nbsp; Paster dienen paste.ini
WSGI Middle können wie oben oder auf der Website beschrieben PasteDeploy konfiguriert werden
Was ist neu in dieser Pressemitteilung:.
- Zusätzliche Unterstützung für Python 3.3.
- Dropped Unterstützung für Python 2.4 und 2.5.
- entfernt die Unterstützung für den Einsatz WSGI Middleware in einer Zope-3-Anwendung. Nur die skriptbasierte Serverstart wird jetzt unterstützt.
- Es wurde eine neue Konsole-Skript, um eine pasten konfiguriert WSGI Servern und Anwendungen ausgeführt werden.
- Passen Sie sich an Standard-ZF-Projekt-Layout.
- hinzugekommen Lizenz und Copyright-Datei. Auch feste Copyright-Vermerk in Datei-Header.
- hinzugekommen MANIFEST.in und tox.ini.
Was ist neu in Version 0.4:
- Fügen Sie diese Changelog, aus dem SVN Protokollen rekonstruiert und zu Veröffentlichungsterminen auf PyPI.
- Unterstützung einer Konfigurationsoption 'Eigenschaften' im PasteDeploy INI-Datei, die eine durch Leerzeichen getrennte Liste mit Namen von Funktionen enthalten kann. Diese können in ZCML Dateien mit der Syntax überprüft werden.
- Bisher die einzige Funktion, die aktiviert werden konnte, war 'devmode "und es nach eigener Wahl hatte. Für die Abwärtskompatibilität devmode = on fügt eine "devmode" -Funktion auf die Feature-Liste.
Anforderungen :
- Python
Kommentare nicht gefunden