将变量传递给Javascript文件

时间:2014-08-07 14:51:08

标签: javascript jquery python django templates

我正在使用Django和jqGrids,而我正在尝试自动化网格的构建过程。有一个问题,我无法找到解决方案。

我在我的html页面grid.locale-en.js的标题中包含了一个Javascript文件,其中包含jqGrid框中显示的所有字符串。

<script src="{% static 'project/grid.locale-en.js' %}"></script>

我想将一个具有网格名称的Django变量传递给此文件。

这样,我可以根据需要拥有mutch网格,而且我只需要一个网格代码。 这将用于更改以下字段。

edit: {
        addCaption: "Add Product",
        editCaption: "Edit Product",

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

有两种简单的方法:

  1. 你可以让django呈现你的javascript

  2. 您可以在django模板中设置全局JS配置变量,然后您的JS文件可以查找变量。

  3. 在django模板中

    <script type="text/javascript">
    var CONFIG = {};
    CONFIG.GRID_NAME = "{{ your name }}";
    </script>
    

    在你的js文件中

    您可以检查以确保设置了CONFIG.GRID_NAME并正确使用它。

答案 1 :(得分:0)

假设你有一个容器div

<div id="jq-grid-container" data-my-column="{{ variable here }}"></div>

然后在设置jQGrid的地方,您可以使用

获取变量名称
var myColumn = $('#jq-grid-container').data('my-column');