javascript - 将 javascript 添加到用于谷歌分析的扩展 django 模板

标签 javascript html django

我有一个漂亮的小 index.html 文件,它是一个扩展模板,它的父文件是一个 base.html 文件(在我的例子中是 base2.html)。我试图将谷歌分析代码片段添加到我网站上的一些文件中,结果证明,如果我在扩展模板的标记中添加任何内容,脚本代码就好像被忽略了。我做错了什么吗?我知道我可以将它添加到 base2.html 中,但这样会跟踪每次点击,因为它是我网站上很多页面的父级。

最佳答案

没有看到 base2.htmlindex.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/

相关文章:

javascript - 哪种解决方案更适合将 "this"参数传递给 javascript 事件处理程序

javascript - ESLint:找不到模块 'lib/rules/max-classes-per-file.js'

html - 用户代理样式表 - 不需要的边距和无覆盖工作

python - 多对多保存 django

django - 在 Django 中发送动态 AJAX URL

javascript - 如何使用 JavaScript 加载跨域页面

javascript - html5 占位符与 jquery - javascript 输入值请参阅占位符

javascript - 如何使用 CamanJS 更改图像?

php - 在新标签页中从 FPDF 打开 PDF

python - Flutter 与 Python Django RESTFUL API