我正在处理一个旧的django-cms项目,并且正在尝试编辑base.html
文件,当我重新加载页面时没有反映出任何更改。
但如果我删除该文件中的所有行,则django runserver拒绝开始显示错误
django.core.exceptions.ImproperlyConfigured: The 'js' and 'css' sekizai namespaces must be present in each template, - or a template it inherits from - defined in CMS_TEMPLATES. I can't find the namespaces in 'project/cms/home.html'.
为什么没有其他更改,例如添加新的类没有反映在页面重新加载或服务器重新启动。
注意: 该项目工作良好。我试图稍微修改一下。当我重新加载页面时,我在css页面中所做的更改会得到反映。问题仅在我尝试编辑HTML页面时
答案 0 :(得分:1)
对于base.html
,您需要在文件中包含{% load cms_tags sekizai_tags %}
。在{% render_block "css" %}
之间的某处将<head></head>
添加到{% render_block "js" %}
和<body></body>
。根据从base.html
继承的模板文件,某些部分可能已被覆盖。例如,如果你有:
{# base.html #}
{% block content %}
<div class="example-class"></div>
{% endblock %}
但是在另一个文件中说:
{# layout.html #}
{% extends "base.html" %}
{% block content %}
{% endblock %}
div不会出现。
但是,如果您正在讨论缺少CSS文件,则仍需要将它们包含在<head>
中以便显示它。 render_block "css"
适用于插件中包含的django-cms css文件等。我通常使用LESS或SCSS编译器将CSS包含到我的项目中。
希望有所帮助。发布更多细节以获得更好的诊断。