問題タブ [zope.interface]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
plone - Plone - Zope 管理インターフェイスの plone_skins の plone_content でビューをコピー アンド ペーストできません
私たちは Plone 4.1.2 を使用しており、Zope Management Interface の plone_skins の plone_content でビューのコピー アンド ペーストを行う際に問題が発生しています。次のエラー メッセージが表示されます。
どうぞよろしくお願いいたします。
python - Zope Component Architecture コンポーネントは、それが実装するインターフェースを記述する必要がありますか?
注: 私は ZCA を初めて使用するので、コードが間違っている可能性があります。ただし、ZCA の仕組みについてはある程度知っています。
たとえば、次のようになります。
このimplements(I1)
行は必要ですか、それとも U1 が I1 を実装していること (Go のインターフェイスのようなもの) を ZCA が独自に判断できますか?
python - インターフェイスに共通の例外定義はどこに置くのですか?
私は特定のクラスを設計するときに zope.interface を使用する習慣を身につけています。これはすべてうまくいっていますが、例外については少し確信が持てません。それらについて話しているドキュメントを見たことがありません(ざっと検索しただけではありますが)。主に、インターフェイスの実装に共通する特定の例外 X をどこに置くべきか疑問に思っています。
いつでも例外を独自のモジュールに入れることができました。しかし、単純な例外である可能性のあるモジュール全体ですか? 問題のインターフェイスを定義する同じモジュールに入れてもかまいませんが、それが何らかの形で悪い形式と見なされるかどうか疑問に思っていますか?
基本的に、インターフェースを少し使用したことがあり、その慣習を知っている人から聞きたいです。
python - zope.interface.Interface のサブクラスのサブクラスが親の名前を継承しないのはなぜですか?
例:
IB.names() が IA で定義された属性を返すようにするにはどうすればよいですか?
plone - plone.app.registry内に文字列のペアを保存する
カップルを保存する構成パネルをPloneコントロールパネルに構築する必要があり、Plone3でplone.app.registryを使用したいと思います。
ユーザーインターフェイスに限定すると、これを自動的に構築するスキーマインターフェイスを定義するのは非常に簡単です。
これは、portal_properties内のカップルを単一の文字列(区切り文字付き)として格納するプロジェクトであるため、使用しました。
plone.app.registryでこのアプローチ( "value_type = schema.Object"を使用)を使用すると、IObjectFieldにIPersistentアダプターが定義されていないため、例外が発生します。
深く掘り下げて自分のアダプターを提供することに夢中になる前に、問題の最初のニーズに到達するためのより簡単な方法はありますか?
plone - plone.directives.form.Schemaに対するアダプターのクエリ
次のように作成されたフォームモデルがあります。
この定義に対してアダプターを登録したいのですが:
登録は正しく行われます。
z3c.form
ただし、IFormSchemaが処理チェーンの任意のポイントのオブジェクトによって直接提供されているかどうかわからないという問題があるため、次のように呼び出すことができます。
IFormSchemaは、z3c.formまたはplone.autoformチェーンの任意のポイントのオブジェクト(zope.interface.directlyProvides?)に直接適用されますか?
そうでない場合、モデルに対してアダプターを登録できるようにするための推奨される方法は何ですか?このインターフェイスを実装するには、どのクラスを作成する必要がありますか?
さらに悪いことに、質問のコンテキストは実際のコンテンツアイテムではなく、サブフォームオブジェクトです。
python - スニファを使用して再実行すると、ピラミッド アプリのテストが失敗する
ピラミッド Web アプリのテスト環境を立ち上げて実行し始めたところです。ピラミッド パスター テンプレートによって作成されたいくつかの例を含む、いくつかの基本的なテストがあります。それらを介して実行すると、nosetest
すべて正常に動作します。
snifferを介して実行すると、最初の実行も正常に機能します。しかし、コードを変更して sniffer がテストを再度実行すると、次のスタック トレースが得られます。
私のセットアップには次のものがあります。
そして私のティアダウンで:
のインポートでエラーが既に発生しているConfigurator
ため、内部をリセットするクリーンアップ コードが欠落していると思います。しかし、それが何であるかはわかりません。どんなヒントでも大歓迎です!
python - クラス宣言内で呼び出される関数はどのようになりますか?
このコードを持っています:
明らかに、zope.interface.implements
何らかの方法で を呼び出すと、 class のプロパティと動作が変更されますFoo
。
これはどのように起こりますか?コードでこのアプローチを使用するにはどうすればよいですか?
サンプルコードはzope.interfaceモジュールの一部です。
z3c.form - テスト環境でウィジェット マネージャーを検索中に ComponentLookupError が発生しました
z3c.forms を使用して新しいウィジェットを開発しようとしていますが、機能テストを行うことができるようになりました。
残念ながら、フォームを使用してテストをセットアップすると、updateWidgets が呼び出されると、IWidgets インターフェイスに対して ComponentLookupError が発生し、z3c.form.field から FieldWidgets を検索する必要があります。
テストセットアップで z3c.form を適切に登録していないと推測していますが、修正方法がわかりません。
テストコードは次のとおりです。
エラーメッセージ:
ここに私がスタックトレースを突っ込んでいます:
アップデート:
また、サンプル フォームをインスタンス化する直前にインターフェイスを明示的に登録しようとしましたが、それは役に立たず、ComponentLookupError が再び発生しました。