私は以下のようにしたいと思います。ピラミッドのいくつかのビューからレンダリングされたコンテンツを1つのベーステンプレートに注入する
は、私は、次のルートが設定されています:
config.add_route('home', '/')
config.add_route('foo', '/foo')
次のビュー:
@view_config(route_name='home', renderer='templates/home.pt')
def home_view(request):
return {...}
@view_config(route_name='foo', renderer='templates/foo.pt')
def foo_view(request):
return {...}
基本テンプレート 'テンプレート/ base.ptは' あり:今
<!DOCTYPE html>
<html>
<head></head>
<body>
Welcome ${user_id}<br>
<a href="/foo">Foo</a><br>
<div id="content">
<!-- Inject rendered content here from either/or /foo -->
</div>
</body>
</html>
を私の見解では、id "content"を持つdivに次のコンテンツを挿入したいと考えています:
0彼らはbase.ptに、独自のテンプレート(home.pt、foo.pt)を注入できるように、どのように私は home_viewと foo_view上記の変更については行くだろう<!-- templates/home.pt -->
<div id="home-content">Home content</div>
<!-- templates/foo.pt -->
<div id="foo-content">Foo content</div>
?何とか私は$ {user_id}のようなデータもbase.ptに転送する必要があります。私はビューを定義するときにラッパー引数で遊んでいたが、それがどのように動作するか把握できなかった。
。私は別のビューメソッドは、いくつかの一般的なメソッドからベースディクテーションを取得し、返す前に余分なデータを追加する必要があると思いますか? (base.ptを使用するすべてのテンプレートは、base.ptがレンダリングするのと同じ基本データを持つ必要があるため、この例ではuser_idのみですが、私の実際のbase.ptでは一般的なデータが多くなります) – ralphtheninja
@MagnusSkog – DzinX
コミュニティから現金を引き出すことができてうれしいです:)ありがとう! – ralphtheninja