私信  •  关注

Aaron

Aaron 最近回复了
9 年前
回复了 Aaron 创建的主题 » 如何管理django模板中的javascript模块?

我发布这个问题已经有一段时间了。我一直在做的是:

  1. 编写所需的javascript部分作为静态服务的库
  2. 使用服务器端的值从模板调用静态库中的例程

约束需要以这样一种方式编写:它只充当客户端脚本;不要试图在服务JS时从服务器注入值。最后,我发现在HTML模板中严格地应用服务器端变量不那么容易混淆。

这样我就能:

  1. 将HTML标记上的javascript选择器保留在同一个文件(即模板)中。
  2. 完全避免模板
  3. 在不同的地方重复使用每个javascript库,以及
  4. 将CSS/JS/HTML片段保存在所有希望找到它们的地方

这并不完美,但它让我过得很快,直到一个更整洁的想法出现。

例如,“media/js/alertlib.js”中的JS库可能包括:

function click_alert(selector, msg){ 
    $(selector).click(function(){ alert(msg) })
}

模板有:

<script type="text/javascript" src="media/js/alertlib.js"></script>
<script type="text/javascript">
    click_alert('#clickme', {% message %})
</script>

<div id='clickme'>Click Me</div>