2012-06-11 3 views
1

Mako의 호출 가능 블록에 해당하는 Django가 있습니까?mako의 호출 가능 블록과 동일한 장고

마코에서는 재사용하고 싶은 특정 HTML 비트가있는 경우 템플릿의 여러 위치에서 호출 할 수있는 "호출 가능 블록"에 넣을 수 있습니다.

<%def name="makerow(row)"> 
    <tr> 
    % for name in row: 
     <td>${name}</td>\ 
    % endfor 
    </tr> 
</%def> 

장고에는 이와 비슷한 것이 있습니까?

답변

4

장고에서는이 작업을 수행하기 위해 다른 HTML 템플릿을 포함 할 수 있습니다

{% include "main/includes/subtemplate.html" %} 

당신이 포함되는 부모 템플릿으로 포함 된 템플릿에 같은 변수에 액세스 할 수 있습니다. 이렇게하면 템플리트의 여러 위치에서 HTML을 재사용 할 수 있습니다.

다른 방법으로 사용자 정의 템플릿 태그를 만드는 것입니다. https://docs.djangoproject.com/en/dev/howto/custom-template-tags/ 이렇게하면 HTML 출력을 생성하는 고유 한 태그를 만들 수 있습니다. Django 문서는이를 수행하는 방법에 대한 다양한 예제를 제공합니다.

+0

각 "템플릿 기능"에 대해 새 파일을 만들지 않아도 편리 할 것입니다. – bbrame

+2

템플릿 태그를 만들 수도 있습니다 (업데이트 된 게시물 참조). –

+0

+1 템플릿 태그의 경우, 장고 변수를 변환하지 않고 태그의 내용을 가져와 나중에 내용을 다시 렌더링해야하므로 쉽지 않습니다. –