Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用金字塔编写jinja2扩展?_Python_Pyramid_Jinja2 - Fatal编程技术网

Python 使用金字塔编写jinja2扩展?

Python 使用金字塔编写jinja2扩展?,python,pyramid,jinja2,Python,Pyramid,Jinja2,我正在尝试编写一个带有金字塔的定制jinja2扩展 分机代码为: from jinja2 import nodes from jinja2.ext import Extension class SnippetExtension(Extension): tags = set(['snippet']) def __init__(self, environment): print "Init" super(SnippetExtension, se

我正在尝试编写一个带有金字塔的定制jinja2扩展

分机代码为:

from jinja2 import nodes
from jinja2.ext import Extension


class SnippetExtension(Extension):

    tags = set(['snippet'])

    def __init__(self, environment):
        print "Init"
        super(SnippetExtension, self).__init__(environment)

    def parse(self, parser):

        print "Parse"

        stream = parser.stream
        tag = stream.next()

        print "Writing"
        return nodes.Output('<div>Test</div>').set_lineno(tag.lineno)
但是我得到了一个错误:

TemplateSyntaxError:遇到未知标记“snippet”

分离模板时:

{% snippet %}

我还需要做什么或者我做错了什么?

添加jinja2\u扩展名
用于添加文件扩展名,而不是Jinja模板扩展名

模板扩展应该列在列表中

您可以使用
设置
映射传入这些设置,例如:

settings['jinja2.extensions'] = [SnippetExtension]
config = Configurator(settings=settings)

add_jinja2_扩展名
用于添加文件扩展名,而不是Jinja模板扩展名

模板扩展应该列在列表中

您可以使用
设置
映射传入这些设置,例如:

settings['jinja2.extensions'] = [SnippetExtension]
config = Configurator(settings=settings)

add_jinja2_扩展名
用于添加文件扩展名,而不是Jinja模板扩展名

模板扩展应该列在列表中

您可以使用
设置
映射传入这些设置,例如:

settings['jinja2.extensions'] = [SnippetExtension]
config = Configurator(settings=settings)

add_jinja2_扩展名
用于添加文件扩展名,而不是Jinja模板扩展名

模板扩展应该列在列表中

您可以使用
设置
映射传入这些设置,例如:

settings['jinja2.extensions'] = [SnippetExtension]
config = Configurator(settings=settings)


嗨,你有答案吗?如果你已经解决了这个问题,请帮助我,我也面临同样的问题。嗨,你得到答案了吗?如果你已经解决了这个问题,请帮助我,我也面临同样的问题。嗨,你得到答案了吗?如果你已经解决了这个问题,请帮助我,我也面临同样的问题。嗨,你得到答案了吗?如果您已经解决了这个问题,请帮助我,我也面临着同样的问题。@CrazyGeek:并在您的配置中添加完整路径(点符号)?请查看@CrazyGeek:为什么在
jinja2_extensions
?哦,谢谢,现在它不再给出错误,让我用newrelic测试一下它的工作流程,我会回来找你的。谢谢你的帮助,因为它解决了标记呈现问题,但我从newrelic得到的是空数据,所以请你看一下。@CrazyGeek:并添加完整路径(点表示法)请查看@CrazyGeek:jinja2_extensions中为什么有下划线?哦,谢谢,现在它不再给出错误,让我用newrelic测试一下它的工作流程,我会回来找你的。谢谢你的帮助,因为它解决了标记呈现问题,但我从newrelic得到的是空数据,所以请你看一下。@CrazyGeek:并添加完整路径(点表示法)请查看@CrazyGeek:jinja2_extensions中为什么有下划线?哦,谢谢,现在它不再给出错误,让我用newrelic测试一下它的工作流程,我会回来找你的。谢谢你的帮助,因为它解决了标记呈现问题,但我从newrelic得到的是空数据,所以请你看一下。@CrazyGeek:并添加完整路径(点表示法)请查看@CrazyGeek:jinja2_extensions中为什么有下划线?哦,谢谢,现在它不再给出错误,让我用newrelic测试一下它的工作流程,我会回来找你的。谢谢你的帮助,因为它解决了标签渲染问题,但是我从newrelic得到了空数据,所以请你看看这个。