Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django-将变量传递到同一脚本标记内的javascript文件_Javascript_Python_Django - Fatal编程技术网

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

Django-将变量传递到同一脚本标记内的javascript文件,javascript,python,django,Javascript,Python,Django,我试图将我的变量从Django的视图传递到javascript文件。我在这里阅读了堆栈问题()以获得一些指导,但我正在尝试一些不同的东西。我希望将变量传递到特定javascript引用脚本标记内的javascript文件,或者更改变量声明的顺序。通过示例更容易显示: My somerandom.js: console.log(variable); 什么有效: {% extends base.html %} {% load static %} {% block body %} <h

我试图将我的变量从Django的视图传递到javascript文件。我在这里阅读了堆栈问题()以获得一些指导,但我正在尝试一些不同的东西。我希望将变量传递到特定javascript引用脚本标记内的javascript文件,或者更改变量声明的顺序。通过示例更容易显示:

My somerandom.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 %}
{%extends base.html%}
{%load static%}
{%block body%}
你好,世界!
{%endblock body%}
{%block javascript%}
var变量={{my_var}};
{%endblock javascript%}
什么不起作用

{% 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),我看到以下错误:未捕获引用错误:未定义变量

1:

{%extends base.html%}
{%load static%}
{%block body%}
你好,世界!
{%endblock body%}
{%block javascript%}
var变量={{my_var}};
{%endblock javascript%}
2:

{%extends base.html%}
{%load static%}
{%block body%}
你好,世界!
{%endblock body%}
{%block javascript%}
var变量={{my_var}};
{%endblock javascript%}
我希望这两个函数能够工作的原因是,一旦代码变长,我就可以正确地组织和引用变量。在这个链接()中,它表明我们可以在引用javascript文件后声明变量。

当您使用带有
src=…
标记并且其中的内容未定义时,并且与您正在使用的浏览器密切相关:例如,对于chrome,脚本从
src=…
加载,而
的内容被忽略
但是,当您使用带有
src=…
标记和其中的内容时,强烈建议不要使用它。该行为未定义,并且与您使用的浏览器密切相关:例如,使用chrome时,脚本从
src=…
加载,而
的内容被忽略

但是,强烈建议不要使用双引号括起Django变量,因为它对我很有用。然后在变量声明之后调用.js文件

<script>
    var variable = "{{ my_var }}";
</script>
<script type="text/javascript" src="{% static ... %}"></script>

var variable=“{my_var}}”;

这是因为
console.log({my_var}}})
不会将变量打印到控制台,但
console.log({{my_var}}”)
会打印它。

用双引号括住Django变量对我来说很有效。然后在变量声明之后调用.js文件

<script>
    var variable = "{{ my_var }}";
</script>
<script type="text/javascript" src="{% static ... %}"></script>

var variable=“{my_var}}”;

这是因为
console.log({{my\u var}}})
不会将变量打印到控制台,但
console.log({{my\u var}})会打印它。
什么不起作用?你能给我们一个错误字符串,或者一些堆栈跟踪吗?你看到的“错误”是什么?我添加了我看到的错误消息。基本上它说的是“变量未定义”。如果您的
somerandom.js
试图访问
variable
,则在稍后声明时出现此错误是正常的。我非常怀疑您链接到的页面中的方法是否有效。somerandom.js正在访问变量(它基本上通过控制台输出变量内容)。有什么方法可以让我在任何地方声明它吗?我希望它只被somerandom.js文件调用,而不是被其他文件调用。当你像在本例中那样全局声明一个js变量时,它将被所有函数访问,无论你如何包含它,也就是说,你的方法(2)和(1)没有什么不同。什么不起作用?你能给我们一个错误字符串,或者一些堆栈跟踪吗?你看到的“错误”是什么?我添加了我看到的错误消息。基本上它说的是“变量未定义”。如果您的
somerandom.js
试图访问
variable
,则在稍后声明时出现此错误是正常的。我非常怀疑您链接到的页面中的方法是否有效。somerandom.js正在访问变量(它基本上通过控制台输出变量内容)。有什么方法可以让我在任何地方声明它吗?我希望它只被somerandom.js文件调用,而不是被其他文件调用。当您像本例中那样全局声明一个js变量时,所有函数都可以访问它,无论您如何包含它,即,您的方法(2)与(1)没有什么不同。