![]() ![]() |
Sie sind hier: ZWikiSeiten > PythonScript PythonScriptKleinere Python-Skripte direkt in Zope verwenden �bersetzt von http://www.dieter.handshake.de/pyprojects/zope/book/chap3.html#c37ac15c11c12 - FloK Ein PythonScript besteht aus einer Folge von Befehlen der SprachePython. Das Skript wird aufgerufen, um die Python-Befehle auszuf�hren. Falls diese einen Wert zur�ckgeben, so wird er als Ergebnis im Kontext des Aufrufs benutzt. Je nach Kontext kann er als Antwort (ReSPONSE) eines WebRequest?-s oder als Teil eines weiteren Verarbeitung genutzt oder auch weggeschmissen werden. Das Skript geht unterschiedliche Wege um die verschiedenen Kontexte anzusprechen. Dazu werden [parameters]? und [bindings]? definiert. Mittels Parametern kommuniziert der Aufrufer mit dem aufgerufenen PythonScript indem er Werte f�r die Parameter bereitstellt. Die Parameter werden im Skript �ber ihre Namen angesprochen und w�hrend der Ausf�hrung an die bereitgestellten Werte gebunden. Mittels
Wenn der NameSpace? des Aufrufers gebunden ist, so k�nnen Parameter indirekt �bergeben werden. In diesem Fall werden die Werte f�r Parameter, die nicht explizit �bergeben wurden im NameSpace? aufgesucht und automatisch gebunden. Wenn das Skript explizit aufgerufen wurde (nicht durch einen RenderingProcess?), so mu� der NameSpace? explizit als ein KeywordArgument? an das Skript �bergeben werden. In PythonScripts kann eine Untermenge (SubSet?) von Python verwendet werden, und zwar der Teil, der in einer Umgebung als sicher betrachtet werden kann, in der Skripte �ber das unsicherMedium des Webs bearbeitet werden k�nnen. W�hrend fast alle PythonBefehle? verf�gbar sind, ist die Menge der BuiltInFunktionen? und Module der PythonLibrary? beschr�nkt. Es gibt auch eine unbeschr�nkte Variante: XXXPythonScript?. Da ein Update dieser Scripts �ber das Web ein ernsthaftes Sicherheitsrisiko darstellt, k�nnen sie nur ver�ndert werden wenn Zope mit einer speziellen UmgebungsVariable? gestartet wurde. Python-Skripte werden mit dem Wie kann ich eine dtml-var - Variable in einem Python-Script ansprechen (verwenden/ver�ndern)?
|