[Python-ml-jp 4482] Re: Zope-3.3.1 の file について質問

Katsuya Hasebe hasebe @ vega.aichi-u.ac.jp
2008年 8月 19日 (火) 22:43:12 JST


From: "Takayuki Shimizukawa" <shimizukawa @ gmail.com>
Subject: [Python-ml-jp 4481] Re: Zope-3.3.1 の file について質問
Date: Tue, 19 Aug 2008 18:37:27 +0900
Message-ID: <f4b71ddc0808190237y671e48bbr55542fe89bf84ab8 @ mail.gmail.com>

> 清水川です。

長谷部です。

> >  ディレクトリ(パッケージ)のトップレヴェルにある筈の File という名の
> >  オブジェクトは存在しません。
> 
> これはPythonの仕組みの説明になりますが、
> .../zope/app/file/__init__.py に以下の記述があります。
> 
> __init__.py::
> 
>   from file import File
>   from image import Image
> 
> これにより、 "import zope.app.file.File" が可能になります。

有難う御座いました。まことに汗顔の至り。

> >  質問のまとめ
> >
> >  view="zope.app.file.File" の右辺はどの様に理解するのがよろしいのでしょうか。
> 
> こちらはZope3のzcmlの書き方というか、addMenuItemの説明になりますが、
> <browser:addMenuItem ...> ディレクティブのview属性は、メニューがクリック
> されたときに呼び出される画面名を指定します。
> ですので、これに対応するのは以下のディレクティブとなります。

そうですか。もう一つ先があったと...。

> zope/app/file/browser/configure.zcml::
> 
>   <browser:page
>       name="zope.app.file.File"
>       for="zope.app.container.interfaces.IAdding"
>       template="file_add.pt"
>       class=".file.FileAdd"
>       permission="zope.ManageContent"
>       />
> 
> 実は、addMenuItemのclass=""はPYTHONPATHでたどれるパッケージ名
> とする必要がありますが、view=""は任意の文字列を設定できます。

そうですか。要するに 識別のための名前。私は画面を表示する実体と思っていました。

> 上記のpageディレクティブにname="ViewNameForClickToShow"と書いておいて、
> addMenuItemディレクティブにview="ViewNameForClickToShow"と書く、
> なんていう事も出来ます。

なるほど。
 
> zcmlのリファレンスが以下にありますので、ご参照ください。
> http://apidoc.zope.org/++apidoc++/ZCML/http_co__sl__sl_namespaces.zope.org_sl_browser/addMenuItem/index.html
> 
> http://apidoc.zope.org/++apidoc++/

ざっと見たところ、これで上でご教示頂いた様な事情を理解するのはなかなか難しいと
思いました。しかし勿論、勉強します。長谷部



Python-ml-jp メーリングリストの案内