我有一个漂亮的小 index.html 文件,它是一个扩展模板,它的父文件是一个 base.html 文件(在我的例子中是 base2.html)。我试图将谷歌分析代码片段添加到我网站上的一些文件中,结果证明,如果我在扩展模板的标记中添加任何内容,脚本代码就好像被忽略了。我做错了什么吗?我知道我可以将它添加到 base2.html 中,但这样会跟踪每次点击,因为它是我网站上很多页面的父级。
最佳答案
没有看到 base2.html
和 index.html
,这很难回答,但最有可能的罪魁祸首是你忘了把 <script></script>
在 {% block %}
里面存在于父模板中。请记住 template inheritance in Django ,父级定义所有 block 的“骨架”,子级必须覆盖这些 block ——您可以使用 {{ block.super }}
继承该 block 的所有父模板内容,然后添加任何其他内容。子模板中不在其扩展的父“骨架”模板 block 中的任何内容都不会呈现。
# 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>
您需要将其包含在一个 block 中:
# index.html - DOES WORK
{% extends 'base2.html' %}
{% block footer_scripts %}
{{ block.super }}
<script>
// GA javascript
</script>
{% endblock %}
关于javascript - 将 javascript 添加到用于谷歌分析的扩展 django 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44814002/