【问题标题】:Load a tag library for a template externally in Django?在Django外部加载模板的标签库?
【发布时间】: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


    【解决方案1】:

    也许你可以使用这样的东西:http://djangosnippets.org/snippets/342/ - 即 django.template.add_to_builtins

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-11
      • 1970-01-01
      • 2011-05-28
      • 2012-01-26
      • 1970-01-01
      • 2013-04-22
      • 2018-12-04
      • 1970-01-01
      相关资源
      最近更新 更多