7

Google App Engine でマイクロ フレームワークのボトルを実行しています。テンプレートにJinja2を使用しています。そして、私はBeakerを使用してセッションを処理しています。私はまだかなりの Python 初心者で、ここまで来てとてもうれしく思います :) 私の質問は、テンプレート内のセッション データにどのようにアクセスするのですか? 実際の Python コード内で問題なくセッション データを取得できます。そして、jinja テンプレートを呼び出すたびにセッション データを渡すことができました。しかし、サイトのメイン メニュー バーにセッション データが必要なので、すべてのページでデータを渡す必要があります。テンプレートで直接アクセスできるかどうかは誰にもわかりませんか?

たとえば、ヘッダー リンクのセッション データが必要です。

ホーム | よくある質問 | ログイン

また

ホーム | よくある質問 | ログアウト

どんな助けでも大歓迎です!:D

4

1 に答える 1

11

すべてのテンプレートにアクセスできるようにする場合は、Jinja2環境グローバルに追加できます。詳細については、このページを参照してください。

アップデート:

簡単な例は、セットアップコードの場合です。

from jinja2 import Environment, PackageLoader
env = Environment(loader=PackageLoader('yourapplication', 'templates'))

次に、リクエスト処理コードで:

env.globals['session'] = session # Your session
# Your template can contain things like {{ session['key'] }}
template = env.get_template('mytemplate.html')
print template.render(the='variables', go='here')
#return response using rendered data
于 2010-03-31T16:01:47.853 に答える