我正在尝试django-cms教程,有些东西我不明白在本部分结尾处:
我必须在/mysite/templates/polls/base.html.添加一个模板但是这个文件必须以{% extends 'base.html' %}开头。这正常吗?这一行所指的文件是指另一个base.html文件吗?可能是父目录中的那个?我一点也不确定。
谢谢你的帮助。
发布于 2015-07-06 19:41:59
像我一样,从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开始,该应用程序可以扩展head标记或其他地方的基块。
通常我有一个类似于myproj/templates的设置,然后是应用模板,比如myproj/project/templates和myproj/app1/templates。第一个模板dir位于manage.py旁边,我使用project dir保存设置&任何特定于该项目的模板,比如CMS页面类型;article.html等等。
您不必扩展base.html,但如果不扩展,则需要重新创建所有标记,因此通过使用此模板模型,您将能够限制重复标记。
https://stackoverflow.com/questions/31254008
复制相似问题