我正在尝试扩展包含此块的模板:
{% 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>
是原因。当我不加载此脚本时,一切正常。有谁知道为什么?
答案 0 :(得分:0)
自Django 1.5起,您必须在{% url %}
模板标记中在视图名称周围添加引号。否则,它现在将被视为上下文变量(因此,如果存在,它将搜索变量django
并获取其属性views
,依此类推...)。
正如评论中指出的那样,正确的版本是:
<script type="text/javascript" src="{% url 'django.views.i18n.javascript_catalog' %}"></script>
可能之前它正在使用Django&lt; = 1.4。