我正在尝试将变量从 Django View 传递到 JavaScript 文件。我在这里阅读了堆栈问题( How can I pass my context variables to a javascript file in Django? )以获得一些指导,但我正在尝试一些不同的东西。我想将变量传递到特定 javascript 引用脚本标记内的 javascript 文件或更改变量声明的顺序。通过示例更容易显示:
我的一些random.js:
console.log(variable);
什么有效:
{% extends base.html %}
{% load static %}
{% block body %}
<h1> Hello, World! </h1>
{% endblock body %}
{% block javascript %}
<script>
var variable = {{ my_var }};
</script>
<script src="{% static "app1/bootstrap/js/somerandom.js" %}"></script>
{% endblock javascript %}
什么不起作用:
编辑:它不起作用,因为在开发人员工具中(在 Chrome 中按 F12)我看到此错误:Uncaught ReferenceError:变量未定义
1:
{% extends base.html %}
{% load static %}
{% block body %}
<h1> Hello, World! </h1>
{% endblock body %}
{% block javascript %}
<script src="{% static "app1/bootstrap/js/somerandom.js" %}"></script>
<script>
var variable = {{ my_var }};
</script>
{% endblock javascript %}
2:
{% extends base.html %}
{% load static %}
{% block body %}
<h1> Hello, World! </h1>
{% endblock body %}
{% block javascript %}
<script src="{% static "app1/bootstrap/js/somerandom.js" %}">
var variable = {{ my_var }};
</script>
{% endblock javascript %}
我希望这两个起作用的原因是,一旦我的代码变得更长,我就可以正确地组织和引用我的变量。在此链接( http://www.mutaku.com/wp/index.php/2012/03/accessing-django-template-variables-in-javascript/ )中,它表明我们可以在引用 javascript 文件后声明变量。
最佳答案
当您使用<script>
时带有 src= ...
的标签其中的 内容 行为未定义,并且与您使用的浏览器密切相关:例如,使用 chrome,脚本从 src=...
加载。以及 <script>
的内容被忽略
然而,强烈建议不要使用它
关于javascript - Django - 将变量传递给同一脚本标签内的javascript文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46107914/