Django 将数据发送到 Javascript 文件

Posted

技术标签:

【中文标题】Django 将数据发送到 Javascript 文件【英文标题】:Django send data to Javascript File 【发布时间】:2020-09-19 05:41:50 【问题描述】:

我知道如何使用视图将数据从 Django 发送到 html

def index(request):
    coord = "[[1, 2], [2, 1]"
    return render(request, 'index.html', 'coord': coord)

html 中,我可以在任何地方使用它,例如 coord ,例如:

<script type="text/javascript">
     var geojsonObject = 
         "coordinates":  coord 
     ;
</script>

但是当我尝试在我的 'index.js' 中执行此操作时,我收到一个错误:

Uncaught SyntaxError: Unexpected token ''

index.html

<script src="% static 'index.js'%"></script>

index.js

var geojsonObject = 
         "coordinates":  coord 
;

我可以将所有内容保存在index.html 中,但我发现调试起来并不实用。如何通过 html 将我的 coor 对象传递给 JavaScript?

【问题讨论】:

【参考方案1】:

您确定要“渲染”您的 index.js 吗?我想一个更好的方法是修改你的 index.js 以便 if 接受模板化的值作为变量。例如:

index.html

<button onclick="doStuff( coord )">Button</button>

index.js

function doStuff(coord) 
    var geojsonObject = 
         "coordinates": coord,
    ;

通过这种方式,您也不需要将所有代码复制到 index.html 文件中。 否则,您可以只将 ID 传递给要将值模板化到的元素,然后使用 document.getElementById("myElement").innerHTML 访问它的值。

【讨论】:

***.com/questions/8683922/… ,我鼓励您也检查一下。 我过度简化了我的观点并删除了其中的所有内容。事情是我的html 什么都没有,我的表单的唯一按钮是由python 生成的,视图将表单发送到html。我会检查是否可以以其他方式使用该功能。谢谢

以上是关于Django 将数据发送到 Javascript 文件的主要内容,如果未能解决你的问题,请参考以下文章

如何将字典对象的javascript列表发送到django ajax

将大型 json 字符串从 Javascript 发布到 Django

将信息从 javascript 传递到 django 应用程序并返回

Django从Javascript函数发布数据

如何在 Javascript 中将 Django 对象作为参数发送?

将变量客户端(JS Ajax)发送到服务器端(Python Django)