本文整理汇总了Python中jinja2.nodes.Extends方法的典型用法代码示例。如果您正苦于以下问题:Python nodes.Extends方法的具体用法?Python nodes.Extends怎么用?Python nodes.Extends使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类jinja2.nodes
的用法示例。
在下文中一共展示了nodes.Extends方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: parse_extends
# 需要导入模块: from jinja2 import nodes [as 别名]
# 或者: from jinja2.nodes import Extends [as 别名]
def parse_extends(self):
node = nodes.Extends(lineno=next(self.stream).lineno)
node.template = self.parse_expression()
return node
示例2: parse
# 需要导入模块: from jinja2 import nodes [as 别名]
# 或者: from jinja2.nodes import Extends [as 别名]
def parse(self, parser):
lineno = next(parser.stream).lineno
node = nodes.Extends(lineno)
template_path = parser.filename
# find where in the search path this template is from
index = 0
if not hasattr(self, 'searchpath'):
return node
for searchpath in self.searchpath:
if template_path.startswith(searchpath):
break
index += 1
# get filename from full path
filename = template_path[len(searchpath) + 1:]
# Providing template path violently deprecated
if parser.stream.current.type != 'block_end':
provided_template = parser.parse_expression().value
if provided_template != filename:
raise Exception('ckan_extends tag wrong path %s in %s'
% (provided_template, template_path))
else:
log.critical('Remove path from ckan_extend tag in %s'
% template_path)
# provide our magic format
# format is *<search path parent index>*<template name>
magic_filename = '*' + str(index) + '*' + filename
# set template
node.template = nodes.Const(magic_filename)
return node