私は通常の定型リンクを含むjinjaテンプレートを持っていますが、そのうちの1つは「サインアウト」リンクです。このリンクのURLは、ページをレンダリングする前に、Users.create_logout_url()を使用して生成する必要があります。
このURLを生成して、get/postハンドラーごとにrender_responseに追加する必要はありません。私は代替案を検討しましたが、これを実行するための機能的な方法を見つけられませんでした。
BaseRequestHandler
これは最もクリーンなアプローチのように思えますが、どうすればよいかわかりません。それはの場合でしょうか
self.vars['logout_link'] = users.create_logout_url(self.request.path))
..そして、すべての標準応答ハンドラーで:
return render_response('template.html', **vars)
?
デコレータ
少し面倒に見えますが、これは別のオプションのようです。同じように機能すると思います(ラッパー関数でローカル変数にログアウトリンクを割り当てます)。
コンテキスト処理?
私はtipfy/jinjaを使用していますが、私が知る限り、これをサポートしていないようです。
どのパスをさらに調査する必要があるかアドバイスはありますか?
ありがとう