【发布时间】:2010-11-07 21:54:50
【问题描述】:
我有一个包含模板的模板标签:
def WidgeLoaderNode(IncludeNode):
def __init__(tpl, scopes=None):
self.scopes = scopes
self.tpl = tpl
super(WidgeLoaderNode, self).__init__('""')
def render(self, context):
self.template_name = self.tpl.resolve(context)
scopes = self.scopes.resolve(context) if options else DEFAULT_SCOPES
context.push()
context['form'] = ScopeForm(scopes)
fragment = super(WidgeLoaderNode, self).render(context)
context.pop()
return fragment
@register.tag
def widget_form(parser, token):
bits = token.split_contents()
tpl = parser.compile_filter(bits[1])
scopes = parser.compile_filter(bits[2]) if len(bits) > 2 else None
return WidgeLoaderNode(tpl, scopes)
必须从模板中指定模板。在这些模板中,我需要包含几个标签库:
{% load widgets_tags helpers %}
。是否可以通过从我的节点代码加载这些库来减少其中的样板模板代码?
【问题讨论】:
标签: python django django-templates