2015-05-05 2 views
2

Так сказать, что у меня есть такая структураШаблон Python, есть способ наследовать от нескольких html-файлов?

<html> 
    <body> 
     <div>Here goes content 1</div> 
     <div>Here goes content 2</div> 
     <div>Here goes content 3</div> 
    <body> 
</html> 

я могу сделать распространяется на другой файл, и вместо того, здесь идет содержание 1,2,3 я могу иметь блоки. Но это означает, что какой-либо файл наследует этот базовый шаблон, он должен иметь в себе все три блока. Возможно ли сделать что-то вроде

<html> 
    <body> 
     <div>{% grabfrom 'firstdiv.html' %}</div> 
     <div>{% grabfrom 'seconddiv.html' %}</div> 
     <div>{% grabfrom 'lastdiv.html' %}</div> 
    <body> 
</html> 

а затем я могу обслуживать этот шаблон?

+0

Вы имеете в виду [включая эти блоки] (http://jinja.pocoo.org/docs/dev/templates/#include)? –

+0

Ahh! Это было включено, я искал неправильное ключевое слово. Благодаря @MartijnPieters –

ответ

3

Вы можете использовать {% include '<template name>' %} syntax загрузить другие шаблоны в определенных местах:

<html> 
    <body> 
     <div>{% include 'firstdiv.html' %}</div> 
     <div>{% include 'seconddiv.html' %}</div> 
     <div>{% include 'lastdiv.html' %}</div> 
    <body> 
</html> 

Если те, включает в себя не нужен доступ к текущему контексту (переменные), вы можете включить кэширование тех, включает в себя, добавляя ключевые слова without context к высказываниям:

<html> 
    <body> 
     <div>{% include 'firstdiv.html' without context %}</div> 
     <div>{% include 'seconddiv.html' without context %}</div> 
     <div>{% include 'lastdiv.html' without context %}</div> 
    <body> 
</html> 

См Import Context Behaviour section документации шаблона дизайнера.

Смежные вопросы