我正在尝试django-cms教程, 有些事情我不明白at the end of this part:
我必须在 /mysite/templates/polls/base.html 添加模板。但是这个文件必须以{% extends 'base.html' %}
开头。
这是正常的吗?此行的文件是否指向其他 base.html 文件?也许在父目录中的一个?我完全不确定。
感谢您的帮助。
答案 0 :(得分: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
等应用模板。第一个模板目录位于manage.py
旁边,我使用project
目录来保存设置&amp;任何特定于该项目的模板,如CMS页面的类型; article.html
等。
您不必扩展base.html
,但如果不扩展,那么您需要再次重新创建所有标记,因此通过使用此模板模型,您将能够限制重复标记。