【发布时间】:2017-11-27 17:53:33
【问题描述】:
我已被警告说这是主观的,可能会被关闭,但这似乎是一个我尚未解决的基本问题。
我目前正在 Django 中编写 webapps 并使用一些 JavaScript 来完成这个和那个。自然,有时我想让我的 JavaAcript 应用程序不知道我的 Django 模板的上下文,所以我一直这样做的方式是将 JS 硬编码到 .html 文件中。
<script>
var my_var = "{{ my_var_from_context }}"
显然,这很丑陋,因为它迫使我将 JavaScript 代码保留在 .html 文件中。我想让我的 .js 文件分开并加载它。
显然有一些选项,例如编写一个函数,该函数接受可以在模板中捕获然后传递的参数。
var my_var = "{{ my_django_var }}"
myFunctionFromScript(my_var)
这是最好的方法吗?有更好的模式吗?其他人在做什么?
感谢您的帮助。
-乔
【问题讨论】:
-
因为我真的不想在我的模板中使用
js代码,所以我通常将参数放在 HTML 对象的自定义数据属性中。例如。删除按钮将有一个data-url字段,其中包含删除视图的 url。然后我可以用 jQuery 读取值。 -
你想将什么作为参数传递给 javascript?
-
成为fips代码然后传递给美国人口普查API的州和县名称我希望js脚本在页面上绘制一个小部件,但具有适当的上下文数据(州,县)
标签: javascript python django design-patterns encapsulation