关于Django / JavaScript模式以及如何最好地组织 /封装的一般查询



我被警告说这是主观的并且可能被关闭,但似乎是我尚未看到的必要问题。

我目前正在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)

这是这样做的最好方法吗?有更好的模式吗?其他人在做什么?

感谢您的帮助。

-joe

使用DTL(DJANGO模板语言)您几乎可以在HTML文件中执行任何通用逻辑编程。

我建议下面的方法,因为Django语法与JavaScript的对象文字符号混乱的机会更少。

var my_var = "{{ my_django_var }}";
//do not forget double quotes above
myFunctionFromScript(my_var);

还考虑将您的代码包装在{% verbatim %} and {% endverbatim %}标签之间,以停止Django在模板中解释您的任何JS代码。

最新更新