2

.cpy ファイル (python) で印刷するには? Zope/Plone を使用しており、Python を使い始めたばかりです。私はこれを試しました

import logging

logger = logging.getLogger()
logger.info("hello plone")

しかし、うまくいきません。

ご回答ありがとうございます

4

2 に答える 2

2

「うまくいかない」というのは非常に漠然としていますが、問題はおそらく、Web から編集できるスクリプトで使用される Python に課せられたセキュリティ サンドボックスに違反している可能性があります。「Restricted Python」は、ログにノイズをダンプするなどの厄介な副作用がないことを保証するために、監査されたモジュールへのインポートを制限します。制限付き Python の詳細については、http://wiki.zope.org/zope2/PythonScriptsを参照してください。

この種の問題に対する一般的な解決策は、Python パッケージ内の無制限の Python で機能を構築することです。Zope という名前のユーティリティは、この種の機能を提供するための通常のメカニズムであり、名前の付いたユーティリティにトラバースすることで、制限された Python からユーティリティの操作に到達できます。

于 2012-07-19T15:44:56.747 に答える
2

上記の答えは、Web 経由で編集可能な Plone スクリプトである RestrictedPython スクリプトにモジュールをインポートできないことを意味します。これらのスクリプトにはエンドユーザー権限があるため、任意の Python コードを実行することはできません。

http://collective-docs.readthedocs.org/en/latest/security/sandboxing.html

context.plone_log("mystring")ロギングの目的で、制限された Python スクリプトでスタイル ロギングを使用できます。

于 2012-07-19T19:57:11.457 に答える