Я бы хотел сделать что-то вроде ниже.
У меня настроены следующие маршруты:
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>
Теперь, по моему мнению, я хотел бы добавить следующее содержимое в div с идентификатором "content":
<!-- 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. Я играл с аргументом wrapper при определении своих представлений, но не мог понять, как это работает.