我试图扩展一个包含这个块的模板:
{% block headerjs %}
<script type="text/javascript" src="{{ STATIC_URL }}js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="{{ STATIC_URL }}js/bootstrap.min.js"></script>
<script type="text/javascript" src="{% url django.views.i18n.javascript_catalog %}"></script>
{% endblock %}
为了扩展它,我使用了{{ block.super }}
:
{% block headerjs %}
{{ block.super }}
<script type="text/javascript" src="{{ STATIC_URL }}js/formhandler.js"></script>
{% endblock %}
它不工作,{ block.super }是空的。我注意到<script type="text/javascript" src="{% url django.views.i18n.javascript_catalog %}"></script>
是原因。当我不加载这个脚本时,一切正常。有人知道为什么吗?
发布于 2014-02-28 13:50:59
从Django 1.5开始,您必须在模板标记中放置视图名称的引号。否则,它现在将被视为上下文变量(因此,如果存在,它将搜索变量django
,并获得其属性views
等等)。
正如评论中指出的那样,正确的版本是:
<script type="text/javascript" src="{% url 'django.views.i18n.javascript_catalog' %}"></script>
也许它以前是起作用的,因为您使用的是Django <= 1.4。
https://stackoverflow.com/questions/18925771
复制