使用django模板将参数传递给页面上的Javascript代码?

Posted

技术标签:

【中文标题】使用django模板将参数传递给页面上的Javascript代码?【英文标题】:Passing parameters to the Javascript code on a page using django templates? 【发布时间】: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 变量,我希望能够减少重复,并且不需要每次都在模板中生成该代码。

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

【问题讨论】:

复制:***.com/questions/1445989/… 【参考方案1】:

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

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

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

【讨论】:

以上是关于使用django模板将参数传递给页面上的Javascript代码?的主要内容,如果未能解决你的问题,请参考以下文章

django 将参数传递给模板标签中的函数

是否可以将查询参数传递给 Django % url % 模板标签?

Django:将参数传递给父模板

如何将三个或多个参数传递给自定义模板标签过滤器 django?

将命名参数传递给 Django 模板中的函数

是否可以将关键字参数传递给 Django % url % 模板标签?关键字参数值应该来自 html 标签