피라미드 이벤트를 사용하지 않으려면 여기를 클릭하십시오. 피라미드의 기본 템플릿 언어는 Chameleon으로, 사용하는 것처럼 보이지만 Mako 또는 다른 템플릿 언어를 쉽게 사용할 수 있습니다. 요점 : Pyramid에서 부모 템플릿을 정의하는 표준 방법은 없습니다. 사용하는 템플릿 언어에 상관이 없기 때문입니다.
표준 방식으로 카멜레온은 다음과 유사합니다.
먼저, 기본 템플릿 main.pt :
:
<html>
<head>
Something generic in here...
</head>
<body>
<h1>${document.title}</h1>
<div id="content">
<metal:content define-slot="content" />
</div>
</body>
</html>
예 다음 child.pt 먼저로드 상위 템플릿과는 콘텐츠 슬롯을 채운다
<metal:main use-macro="load: main.pt">
<p metal:fill-slot="content">${structure: document.body}<p/>
</metal:main>
가능한 피라미드 뷰 기능 :
@view_config(route_name='view_document', renderer='child.pt')
def document_view(request):
foo = Document(title="bar", content="silly example")
return {'document': foo}
물론, 여기서는 Document 클래스를 다른 곳에서 정의했다고 가정합니다. 피라미드 코드에는 하위 템플릿 만 언급되어 있습니다. 내 VIEW_DOCUMENT 기능은 문서 객체를 다음 차례로 main.pt 템플릿을 호출 child.pt 템플릿에 foo는를 전달합니다.
이것은 내가 정확히 찾고 있었던 것입니다. 덕분입니다. – user2846569