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

标签 javascript python django

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

相关文章:

python - 当我执行 : python manage. py 命令时没有任何反应

javascript - 基于单选选择的图像显示和模态弹出

javascript - 如何检查我的对象类型是图像?

javascript - 如何在 Knockout 的 Javascript 中将静态链接元素添加为下拉列表项元素

javascript - 在 Cesium.js 中使用 GeoJsonDataSource 加载更新的数据

python - 用于控制 Python 调试消息日志记录的首选方法?

python - 没有身份验证的 Django Rest Framework + 仅 GET

java - java的iterator.remove()如何翻译成python?

python - pyshp : PolyLineZ drawing draws lines between my lines

python - 如何在 Django 中写入这个 "model"?