I have a node for a Django template:
class MetadataNode(template.Node):
def render(self, context):
...
Which register a tag:
def get_metadata(parser, token):
...
register = template.Library()
register.tag(get_metadata)
But I use a Jinja2 templates, therefore I need a Jinja2 extension:
class get_metadata(Extension):
tags = {'get_metadata'}
def parse(self, parser):
while not parser.stream.current.type == 'block_end':
parser.stream.next()
return nodes.Output([self.call_method('_get_metadata')])
def _get_metadata(self):
return Markup(MetadataNode().render(<Django context???>))
register = CoffinLibrary()
register.tag(get_metadata)
How to get access to Django context (particularity request.META.PATH_INFO) in parse method? Or how to run a render MetadataNode with context?