我有一个漂亮的小index.html 文件,它是一个扩展模板,它的父文件是一个base.html 文件(在我的例子中是base2.html)。我试图将谷歌分析代码片段添加到我网站上的某些文件中,事实证明,如果我在扩展模板的标签中添加任何内容,就像脚本代码被忽略一样。我做错了什么吗?我知道我可以将它添加到 base2.html 中,但是这样就会跟踪单个点击,因为它是我网站上许多页面的父级。
没有看到base2.html
and index.html
,这很难回答,但最有可能的罪魁祸首是你忘记了<script></script>
里面的一个{% block %}
存在于父模板中。请记住,对于Django 中的模板继承 https://docs.djangoproject.com/en/1.11/ref/templates/language/#id1,父级定义了所有块的“骨架”,子级必须覆盖这些块 - 您可以使用{{ block.super }}
继承该块的所有父模板内容,然后添加任何其他内容。子模板中不在其扩展的父“骨架”模板中的块中的任何内容都不会被渲染。
# base2.html
<body>
{% block content %}
{% endblock content %}
{% block footer_scripts %}
<script src="foobar"> ...</script>
{% endblock footer_scripts %}
</body>
如果你只是添加这个,它不会工作:
# index.html - DOES NOT WORK
{% extends 'base2.html' %}
<script>
// GA javascript
</script>
您需要将其包含在一个块中:
# index.html - DOES WORK
{% extends 'base2.html' %}
{% block footer_scripts %}
{{ block.super }}
<script>
// GA javascript
</script>
{% endblock %}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)