gpt4 book ai didi

javascript - Django - 将变量传递给同一脚本标签内的javascript文件

转载 作者:行者123 更新时间:2023-12-01 03:07:01 25 4
gpt4 key购买 nike

我正在尝试将变量从 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/

25 4 0