2012-02-17 2 views
3

프로젝트 전반에 걸쳐 여러 번 템플릿을 포함하고 상위 템플릿 내에서 여러 번 템플릿을 포함하는 가장 좋은 방법을 알고 싶습니다. 이 포함 된 하위 템플릿은 변수와 html 블록으로 채워져야하는 골격에 지나지 않습니다. 예 템플릿 :확장없이 블록을 포함 된 템플릿으로 전달

parent.html :

<p>Popup #1</p> 
{% include "popup.html" %} 
<p>Popup #2</p> 
{% include "popup.html" %} 

popup.html :

<h1 class="title">{% block title %}{% endblock %}</h1> 
<div class="body">{% block body %}{% endblock %}</div> 

내가 생각할 수있는 유일한 해결책은 모든 팝업에 대한 별도의 파일을 가지고 popup.html을 확장하는 것입니다 각 파일에. 그런 다음 확장 파일을 부모에게 포함시킬 수 있습니다. 이것은 좌절 할 것 인 모든 팝업을 위해 파일을 추가 할 것을 요구한다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

답변

3

Django 템플릿 엔진이이 영역에 속합니다. 파싱 블록을 파일에 포함시킬 방법이 없습니다.

<h1 class="title">{{ title }}</h1> 
<div class="body">{{ body }}</div> 

하지만 실제 블록을 필요로하는 경우, 그들은 기본 템플릿 파일에 직접적으로, 또는 부모 중 하나 : 당신은 당신이 뭔가를 할 수 있도록 인클루드로 데이터를 전달할 수 있습니다.

+0

좋아, 나는 그것을 듣기가 두려웠다. D : 아마 내가 내 게시물에서 논의한 해결책 중 하나를 고수 할 것입니다. 그것은 약간의 복잡성을 추가하지만 그것이 필요한 것을합니다. – DivineSlayer

관련 문제