Turbogears-hooks
TurboGears –フック
TurboGearsには、既存のアプリケーション内で動作をプラグインする3つの方法があります。
- フック-これは、イベントを定義し、登録されたリスナーにイベントが発行されたときに通知するメカニズムです。
- Controller Wrapper -TurboGearsとControllerの間に位置するため、コントローラーをデコレータのように拡張できます。 したがって、任意のサードパーティ製コントローラーアプリケーションに接続できます。
- アプリケーションラッパー-WSGIミドルウェアに似ていますが、TurboGearsコンテキストでのみ動作します。
この章では、既存のアプリケーション内でフックを使用する方法について説明します。
フック
フックは、アプリケーションの構成ファイル app_cfg.py に登録されたイベントです。 次に、イベントデコレータによってこれらのイベントにコントローラがフックされます。
次のフックはTurboGearsで定義されています-
Sr.No. | Hooks & Description |
---|---|
1 |
Startup() アプリケーション全体のみ。アプリケーションの起動時に呼び出されます。 |
2 |
shutdown() アプリケーション全体のみ。アプリケーションの終了時に呼び出されます。 |
3 |
configure_new_app 新しいアプリケーションは、アプリケーションコンフィギュレータによって作成されました。 |
4 |
before_config(app) アプリケーション全体のみ。アプリケーションの作成直後、ただしオプションとミドルウェアをセットアップする前に呼び出されます |
5 |
after_config(app) アプリケーション全体でのみ、すべての設定が完了した後に呼び出されます。 |
6 |
before_validate 検証を実行する前に呼び出されます |
7 |
before_call 検証後、実際のコントローラーメソッドを呼び出す前に呼び出されます。 |
8 |
before_render コントローラーテンプレートをレンダリングする前に呼び出され、出力はコントローラーの戻り値です。 |
9 |
after_render コントローラーテンプレートのレンダリングが完了した後に呼び出されます。 |
フックを登録する
フックを登録するには、 app_cfg.py に関数を作成し、次のコードを使用して登録します-
次のコードでは、on_startup、on_shutdown、before_renderフックがapp_cfg.pyに登録されています。
before_renderフックは、Rootcontrollerのコントローラー関数に登録されます。 controllers \ root.pyに次のコードを追加します。
アプリケーションが提供されると、コンソールに起動メッセージが表示されます。
ブラウザに「/」URLが入力されると、before_renderフックに対応するメッセージがコンソールに表示されます。