从documentation你可以看到,写作模板标签涉及编写目标函数和渲染器。所以我假设你目前的代码如下所示:
def my_tag(parser, token):
# ... some code
return MyNode(...)
class MyNode(template.Node):
def render(self, context):
# here is where you write your <script> tags
所以基本上,你必须做的是挂在上下文中的变量,因此您可以知道是否针对特定的请求你已经包含的代码加载所有你需要的脚本。
class MyNode(template.Node):
def render(self, context):
if '_included_faceboxify_deps' in context:
# render your <script> dependency includes
context['_included_faceboxify_deps'] = True
# render your <script>s that are specific for this call
这应该是关键。它不像在页面顶部包含依赖关系那样优雅,但每次需要调用它们时都不会包含它们。
谢谢,我想这就是我正在寻找的..我会尽快尝试.. – pocoa 2010-06-13 16:37:57