【问题标题】:Passing parameters to the Javascript code on a page using django templates?使用django模板将参数传递给页面上的Javascript代码?
【发布时间】:2011-01-20 14:59:26
【问题描述】:

我有一个简单的 Django 应用程序,它具有各种不同资产类型的各种视图。我有各种 jQuery 函数来关闭资产类型名称,因此当我使用 django 模板生成页面时,我使用模板变量在 javascript 代码中填写资产类型参数...

$(document).ready(function() 
{ 
    $(".project").click(function() {return FiltersChanged('{{ asset_type }}', $('#filter_entry').val());});
});

我在应用程序中经常使用这种范例,这对我来说似乎有点尴尬,我发现我在不同的模板文件中创建了很多重复的代码只是因为我需要填写那个 {{asset_type}} 变量,我希望能够减少重复,并且不需要每次都在模板中生成该代码。

那么,有没有更好的方法来做到这一点,而不需要在每个页面中复制代码?

【问题讨论】:

标签: jquery django


【解决方案1】:

对于这样的常用值,一种选择是将模板的某些部分转储到全局可用的对象中,然后您的脚本可以通过这种方式访问​​这些值。例如,您可以这样做:

<script>
  body.data('assetInfo', {
    'type': '{{ asset_type }}',
    // ...
  });
</script>

然后,您的脚本可以在需要这些内容时直接转到 body 标记上的“assetInfo”数据元素。如果您的脚本可以从服务器端代码中解放出来,那就太好了,因为您可以让客户端缓存它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-09
    • 2010-12-26
    • 2020-07-06
    • 2014-09-26
    • 2018-12-03
    • 2018-08-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多