Personal tools
You are here: Home Zope&Plone Tips PythonモジュールをZope上で使えるように
Document Actions

PythonモジュールをZope上で使えるように

by maru last modified 2007-07-03 23:53

Zope上で標準では使えないPythonモジュールをallow_module()を使って有効化。

「権限が不十分です」画面 Zope 上(Plone含む)で Python Script を作成し、その中で python 上ではあるはずのモジュールを使ってるんだけど、「権限が不十分です」とかで怒られて使えないことがあります(reモジュールとか)。

 その場合は、allow_module() を使ってZope 上でこのモジュールを使うんだよ!と宣言してやればおkです。

 やり方は至って簡単で、例えば、reモジュールを使いたい場合は、$[INSTANCE]/Products/ に適当なディレクトリを作り、その中に以下の内容 __init__.py を作成して、restartすれば使えるようになります。

◆ $[INSTANCE]/Products/GlobalModules/__init__.py

  from Products.PythonScripts.Utility import allow_module
allow_module('re')

ここではProductディレクトリ名をGlobalModulesとしていますがなんでもいいです。複数のモジュールを使う場合も allow_module('使いたいモジュール名') の行をモジュール毎に増やせばいいだけでおま。