Django模板变量如何传递给外部js调用的方法
开门见山的说
最近在做一个django的网站,思考如何更好的组织Django中的静态字段,比如JS,CSS一类,碰到一个需要玩js文件里传参的问题,特记录一些
方法
- 先将数据传输到template的HTML中,再传递到js中
在HTML中使用标签将后台传递的数据渲染成JS对象,然后JS代码中则可以直接使用这个对象了
<script>
var MyViewVar = {
var_1: {{ var_1 }},
var_2: {{ var_2 }},
};
</script>
...
<script type="text/javascript" src="/js/test_script.js"></script>
使用这种方式需要注意一点就是尽量先写渲染JS变量的代码,比如写在head中,然后再引入外部JS文件。这样,在test_script.js中就可以直接使用MyViewVar这个对象了。