2015-07-06 5 views
0

Я пробуя Джанго-КМВ учебник, Существует что-то я не понимаю at the end of this part:base.html содержит {% extends 'base.html'%}?

Я должен добавить шаблон в /mysite/templates/polls/base.html. Но этот файл должен начинаться с {% extends 'base.html' %}. Это нормально? Является ли этот файл ссылкой на другой файл base.html? Возможно, в родительском каталоге? Я совсем не уверен.

Благодарим за помощь.

+0

По названию, я думаю, шаблон _this_ будет ** базовым шаблоном **, поэтому он будет расширен, он не нуждается в расширении от другого шаблона. – Gocht

+0

@Gocht да, но есть еще один ** base.html ** в родительском каталоге (в **/mysite/templates/base.html **), и я предполагаю, что это может быть значение по умолчанию. Поэтому мне было интересно, может ли этот второй (в **/mysite/templates/polls/base.html **) переписать и улучшить значение по умолчанию для конкретных потребностей приложения опросов. Но для меня это только гипотеза, пока кто-то более опытный не подтвердит это. – vmonteco

ответ

2

Расширение от base.html, как это было бы, как и у меня, что у вас есть файл base.html в корневом каталоге шаблонов вашего проекта для обработки основной разметки;

{% load cms_tags menu_tags sekizai_tags cache i18n %} 
{% load static from staticfiles %} 
<head> 
    <meta charset="utf-8"> 

    {% block head %}{% endblock head %} 
    <title> 
    <script type="text/javascript" 
     src="{% static 'project/external/jquery-1.11.2.min.js' %}"></script> 

    {% render_block "css" %} 
    {% render_block "js" %} 

    {% block styles %}{% endblock styles %} 
    {% block scripts %}{% endblock scripts %} 

</head> 
<body> 
    {% cms_toolbar %} 

    {% block content %} 
    {% endblock content %} 

    {% block footer-scripts %}{% endblock footer-scripts %} 
</body> 
</html> 

Таким образом, когда вы шаблоны настройки в ваших приложениях вы можете начать с base.html для этого приложения, которые могут расширить базовые блоки для головного тега или в другом месте.

Обычно у меня есть настройка, похожая на myproj/templates, а затем шаблоны приложений, такие как myproj/project/templates и myproj/app1/templates. Этот первый шаблон dir находится рядом с manage.py, и я использую директорию project для хранения настроек & любых шаблонов, специфичных для этого проекта, например типов страниц CMS; article.html и т. Д.

Вы не должны распространять base.html, но если вы этого не сделаете, вам нужно снова создать все эти разметки, поэтому, используя эту модель шаблона, вы сможете ограничить повторную разметку.

+0

Это ответ, который я искал, спасибо! – vmonteco

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