以下のようなことをしたいのですが。
次のルートを構成しています。
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 {...}
基本テンプレート'templates/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に挿入したいと思います。
<!-- templates/home.pt -->
<div id="home-content">Home content</div>
<!-- templates/foo.pt -->
<div id="foo-content">Foo content</div>
上記のhome_viewとfoo_viewを変更して、独自のテンプレート(home.pt、foo.pt)をbase.ptに挿入できるようにするにはどうすればよいですか?どういうわけか、 ${user_id}などのデータもbase.ptに転送する必要があります。ビューを定義するときにラッパー引数をいじっていましたが、それがどのように機能するかを理解できませんでした。