8

ZCML には、次の形式の条件付きディレクティブを含めることができます。

<configure zcml:condition="installed some.python.package">
    (conditional configuration directives)
</configure>

の式構文は何conditionですか? 「または」は使用できますか?

4

1 に答える 1

15

私もいつもこれを調べなければなりません。構文は非常に単純でor、残念ながら構文の一部ではありません。

zope.configuration ソース コードのドキュメントからわかるように、構文は常に の形式です。ここで、verb arguments動詞は、、、および のいずれhaveかです。not-haveinstallednot-installed

have登録された機能をnot-haveテストします。登録された機能は、<meta:provides feature="something" />タグに登録された単純な不透明な文字列です。特定の実装に結び付けずに、何かが含まれていることを示すために使用します。例:

<configure zcml:condition="have apidoc">
    <!-- only when the apidoc feature has been provided -->
</configure>

installedそして、not-installed単に名前付きパッケージをインポートしようとします; インポートが成功すると、installedテストも成功します。例:

<configure zcml:condition="installed sqlalchemy"> 
    <!-- only when the sqlalchemy module can be imported -->
</configure>
于 2009-10-21T11:58:47.543 に答える