基本的にいくつかの一般的なグリッド レイアウトを実装する 2 つの Jinja2 テンプレートを作成しています。このテンプレートの「ライブラリ」を Pylons アプリと Django アプリの間で共有できるようにしたいと考えています。
Django のテンプレート コンテキストはテンプレートの「トップレベル」からアクセスできるのに対し、Pylons はコンテキストをスレッド ローカルc
(またはtmpl_context
) 変数内にラップするという点で、小さな障害にぶつかりました。
これを示すいくつかの類似の例を次に示します。
ジャンゴ
from django.shortcuts import render_to_response
ctx = {}
ctx['name'] = 'John'
return render_to_response('hello.html', ctx)
こんにちは.html:
Hello {{ name }}
パイロン
from pylons import tmpl_context as c
from myapp.lib.base import render
c.name = 'John'
return render('hello.html')
こんにちは.html:
Hello {{ c.name }}
私がやろうとしているhello.html
のは、両方のフレームワークで同じになるようにすることです。
私が見ている 1 つの方法は、Djangorender_to_response
をラップして次のようにすることです。
ctx['c'] = ctx
しかし、それは正しくないと感じています。これに代わる他の方法を見た人はいますか?
ありがとう