4

Django テンプレートのノードがあります。

class MetadataNode(template.Node):
    def render(self, context):
    ...

タグを登録するもの:

def get_metadata(parser, token):
    ...
register = template.Library()
register.tag(get_metadata)

ただし、Jinja2 テンプレートを使用しているため、Jinja2 拡張機能が必要です。

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)

parse メソッドで Django コンテキスト (特殊性 request.META.PATH_INFO) にアクセスするにはどうすればよいですか? または、コンテキストを使用してレンダリング MetadataNode を実行する方法は?

4

1 に答える 1