共通要素の変数を Mako テンプレートに渡す良い方法はありますか?
質問
私は Mako の継承機能を使用して、ヘッダーやフッターなどの一般的なページ要素を「base.mako」テンプレートに取り込んでいます。ページ固有のコントローラーは、base.mako を継承する独自のテンプレートを使用します。
base.mako には一連の変数が必要です。たとえば、ログオンしているユーザーの名前がすべてのページのヘッダーに含まれます。ただし、テンプレートを選択してレンダリングするのは個々のページ コントローラーであるため、テンプレートに変数を渡す責任があります。
むしろ、これらすべてのページ コントローラーが、コンテキスト内で基本テンプレートに必要なものを知る必要がないようにしたいと考えています。このような状況で基本テンプレートのコンテキストを確立する良い方法は何でしょうか?
前もって感謝します!
解決
ページ コントローラーには 2 つの OO デザインの選択肢があります。
共通の機能は 2 つの方法で処理できます。
継承。すべてのページ コントローラーは、共通の属性を提供する共通クラスのサブクラスです。
代表団。すべてのページ コントローラーはパイプラインの一部であり、一部の共通プロセス (ページ コントローラーの前または後) が追加情報を折り込みます。
どれか 1 つを選択する必要があります。
所属していません StackOverflow