如何在单独的 js 文件中使用访问 django 模板变量,而不是在同一个 html 文件中包含小脚本块?

Posted

技术标签:

【中文标题】如何在单独的 js 文件中使用访问 django 模板变量,而不是在同一个 html 文件中包含小脚本块?【英文标题】:How to use access django template variable in a separate js file rather than inlcuding small script block in same html file? 【发布时间】:2019-03-10 22:52:31 【问题描述】:

我无法访问从 django 中的 views.py 文件传递​​的模板变量。我在***上找不到任何答案。我已经尝试了所有方法,例如将变量转换为 json 对象并将其解析到单独的 js 文件中。

如何在单独的 .js 文件中从 views.py 访问模板变量? 请帮忙。

【问题讨论】:

为什么不做一个返回JSON blob的特定视图,并让javascript触发特定视图(可能带有一些参数)? 我不知道该怎么做。 编写一个 .js 模板并从您的视图中呈现该文件。 我有一个只有单页的简单应用程序。如果我将制作一个单独的 .js 模板,我将如何使用 django 进行处理。如果我解释不清楚,请见谅。我是一个完全的初学者。我的机器学习模型必须使用 django。 【参考方案1】:

您可以设置window.variable,然后您就可以访问它了。

在模板中:

<script>
  window.variable_x = ' variable_x_from_view_ctx `
</script>

然后在你的JS文件中:

const variable_x = window.variable_x

【讨论】:

我不想使用脚本块。不过还是谢谢你的回答。

以上是关于如何在单独的 js 文件中使用访问 django 模板变量,而不是在同一个 html 文件中包含小脚本块?的主要内容,如果未能解决你的问题,请参考以下文章

Django:如何将python变量值传递给javascript文件?

您如何从单独的命令模块访问主要的 Discord“.js”

如何将状态值从一个组件访问到位于单独文件中的其他功能(不是组件)?反应js

在django中访问静态文件(js css img)

如何正确使用 django 静态文件

Django 获取静态媒体文件