2012-11-05 1 views
7

나는 handle.hars.But을 사용하여 base.html에서 다른 템플릿으로 템플릿 상속을 시도하고 있습니다.핸들 모음의 템플릿 상속

제발, 누구든지 간단한 데모로 나를 도울 수 있습니까? base.html으로, 파일 extend.html 예를 들어

, Base.html

<html><head></head> 
<body> 
{% block content %}{% endblock %} 
</body> 
</html> 

Extend.html

{% extends "base.html" %} 
{% block content %}<h1>Foobar!</h1>{% endblock %} 

나는 base.html에 포함 할 필요가 .... ..?

+1

템플릿은 ID가있는 스크립트 태그에 있어야합니다. 제목 태그의 텍스트에는 템플릿이 필요하지 않으며 단지 텍스트 일뿐입니다. extend.html과 base.html 사이의 관계는 설명하지 않았습니다. – charlietfl

답변

0
// in my node server: using express and hbs 
hbs.registerPartials(__dirname + '/built/development/templates'); 
app.get('/', function (req, res) { 
    res.render('_base', { 
    "STATIC_URL": app.get('STATIC_URL') 
    }); 
}); 

// This is in my base template 
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" itemscope itemtype="http://schema.org/Article" xmlns:fb="http://ogp.me/ns/fb#"> <!--<![endif]--> 
<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# blog: http://ogp.me/ns/blog#"> 
    {{> _config_logged_out }} 
    {{> _scripts }} 
</head> 
1

'블록'을 지원하도록 부분을 확장 할 수 있습니다 (this gist 참조).

0

핸들 막대는 템플릿 상속을 기본적으로 제공하지 않습니다.

그러나 템플릿 상속을 수행하는 데 필요한 도우미를 제공하는 라이브러리가 있습니다. 내가 좋아하는 것은 Wax On이다. Pug와 Django에서 템플릿 상속을 기반으로하고 예상대로 작동하기 때문이다.

약간 다른 방식으로 작동하는 handlebars-layouts도 있지만 필요한 경우 클라이언트 측도 실행할 수 있습니다.