Python のボトル フレームワークを使用して、単純な Web ページを開発しています。ディクショナリをサブテンプレートに渡す方法がわかりません。コード例:
薬事:
{
message: "Hello World",
...other template vars ...
}
Router.py
@route('/index.html')
@view('index.tpl')
def index():
return mydictionary
ビュー/index.tpl
<body>
%include subpage1 ...... <-- need to pass mydictionary here
...other stuff ...
</body>
ビュー/subpage1.tpl
<div>This is a test: {{message}}</div>
ドキュメントページには次のように記載されています。
*%include ステートメント: %include sub_template [kwargs] ステートメントを使用して、他のテンプレートを含めることができます。sub_template パラメーターは、含めるテンプレートの名前またはパスを指定します。行の残りの部分は、関数呼び出しのキーワード引数と同様に、key=statement ペアのコンマ区切りリストとして解釈されます。これらは、SimpleTemplate.render() 呼び出しに似たサブテンプレートに渡されます。dict を渡すための **kwargs 構文も使用できます*:
ただし、この **kwargs を含むディクショナリをサブテンプレートに渡す方法の例はありません。誰もこれをやったことがありますか?%include subpage1 mydictionary とだけ言うと、ボトルは mydictionary が未定義であると不平を言います (mydictionary は [Router.py で定義された] グローバル dict ですが)。
よろしくGA