缓存某个地方阻止Django 1.6中的更新模板

时间:2014-10-01 11:00:12

标签: javascript python django caching

为糟糕的头衔道歉。运行Django 1.6服务器并访问一组特定的模板时,我有一个模板错误。我已删除

  

/ url_name的TemplateSyntaxError
  无法解析余数:' -name-remainder'来自' hr-name-remainder' url'的语法在Django 1.5中更改,请参阅文档。

删除对hr-name-remainder

的所有引用

我已经

from django.core.cache import cache
cache.clear 

标记{%load cache%}没有出现在任何模板中,我已经清空了浏览器缓存。并且仍然会发生同样的错误。错误发生在另一个浏览器中(所以肯定会从任何浏览器缓存中隔离出来?)因此Django中会发生一些事情。我甚至多次重启服务器。

我的settings.py中没有CACHE设置,(我应该澄清这不是我的代码)以及对#34; 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(); }
       }
   );
});

有些答案询问了确切的语法,我已将注释更改为django模板注释标记,现在看起来像这样(四个例子中的一个)

  {#  <li {% block case_study_nav_class %}{% endblock %}><a href="{% url 'hr-name-remainder object.slug %}">Case studies</a></li> #}

1 个答案:

答案 0 :(得分:0)

您对评论的解释会显示您的问题。 Django不关心HTML注释标记,并将继续解析注释中的模板标记。如果您需要在模板中修改内容,则应使用Django注释标记,例如{# ... #}

当然,您最好修复实际问题,这在错误消息指向的文档中有详细说明:将URL名称放在引号中。