2014-08-27 1 views
0

Django-cms множественное наследование не работает.djangocms шаблон наследования

I имеет следующую структуру шаблона:

base.html 
    {% block content %} 
    {% endblock content %} 

page1.html 
    {% extends "base.html" %} 
    {% block test %} 
    {% endblock test %} 

page2.html 
    {% extends "page1.html" %} 
    {% block content %} 
      <div>foo</div> 
    {% endblock content %} 
    {% block test %} 
      <div>foo</div> 
    {% endblock test %} 

Проблема в том, что испытательный блок в PAGE2 HTML не отображаются. Отображаются только блоки из base.html. Если я включаю блок-тест в base.html, также отображается в стр. 2

ответ

1

В файле base.html содержится {% block test%}?

Ваш базовый шаблон должен содержать блок, который вы хотите переопределить. Вы можете добавить дополнительные блоки в дочерние шаблоны, но они должны содержаться в базовом блоке.

См https://docs.djangoproject.com/en/dev/topics/templates/#template-inheritance

0

base.html ваш шаблон верхнего уровня. Обычно это будет то, что начинается с html doctype и заканчивается тегом </html>. Все остальное должно иметь место, чтобы туда попасть. Все, что у вас есть, - это блок content.

Итак, куда бы попасть test блок? Вы попытались поместить его в page1.html, но ему все равно нужно место для родительского шаблона.

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

  • Нет связанных вопросов^_^