【发布时间】:2014-10-01 20:02:08
【问题描述】:
为拙劣的标题道歉。运行 Django 1.6 服务器并访问一组特定模板时出现模板错误。我已经删除了
/url_name 处的模板语法错误
无法解析余数:'hr-name-remainder'中的'-name-remainder' Django 1.5 中'url' 的语法发生了变化,请参阅文档。
删除所有对hr-name-remainder的引用后
我跑了
from django.core.cache import cache
cache.clear
标签{%load cache%} 没有出现在任何模板中,我已经清空了浏览器缓存。并且仍然发生相同的错误。该错误发生在另一个浏览器中(肯定与任何浏览器缓存隔离?)所以在 Django 中发生了一些事情。我什至多次重新启动服务器。
我的 settings.py 中没有 CACHE 设置,(我应该澄清这不是我的代码)并且对“缓存”的唯一引用是在我们具有以下 javascript 的模板之一中
<script>
$(".show_filter").click(function (e) {
$(".filter").toggleClass("hidden");
$(this).toggleClass("on");
});
$(document).ready(function() {
$('#search_input').autocomplete(
{
source: "{% url 'url_nameTWO' %}",
delay: 50,
minChars: 1,
matchSubset: 1,
matchContains: 1,
cacheLength: 50,
autoFill: false,
maxItemsToShow: 10,
onItemSelect: function(x) { $('#search_input_large').focus(); }
}
);
});
一些答案询问了确切的语法,我已将 cmets 更改为 django 模板注释标签,现在看起来像这样(四个示例)
{# <li {% block case_study_nav_class %}{% endblock %}><a href="{% url 'hr-name-remainder object.slug %}">Case studies</a></li> #}
【问题讨论】:
-
这不是缓存。你确定你已经删除了所有的引用(例如
grep -r "hr-name-remainder" *从你的项目根目录运行时会显示什么)?你是如何重启服务器的? -
用 ack-grep 检查并且模板中的所有引用都被注释掉了。使用 CTRL-C 停止服务器并使用 django-admin.py runserver 重新启动 ...
-
“评论”是什么意思?显示模板示例。
-
道歉——上面的错字应该是“模板中的所有引用都被注释掉了”。因为他们现在有 标签。所以恕我直言,甚至不应该读取引用——因此是关于缓存的引用。当我注释掉代码时,我不希望它会引发错误。
标签: javascript python django caching