编程语言
首页 > 编程语言> > python-如何将pystache与pyramid集成?

python-如何将pystache与pyramid集成?

作者:互联网

我想使用pystache在我的金字塔应用程序中提供的基于类的视图,但是我不确定如何正确地将两者集成在一起.我已经读过this,但它没有谈论使用基于类的视图.

如果要使用基于类的视图,如何为pystache创建新的渲染器?有人可以帮我吗?

另外,虽然我已经知道胡子是如何工作的,但是我似乎找不到关于python实现(pystache)的太多信息.有人可以在这里指出正确的方向吗?

解决方法:

实现MustacheRendererFactory:

class MustacheRendererFactory(object):
  def __init__(self, info):
    self.info = info

  def __call__(self, value, system):
    package, filename = resolve_asset_spec(self.info.name)
    template = os.path.join(package_path(self.info.package), filename)
    template_fh = open(template)
    template_stream = template_fh.read()
    template_fh.close()
    return pystache.render(template_stream, value)

更新配置程序设置,可能在__init__.py中:

def main(global_config, **settings):
  config = Configurator(settings=settings)
  # ...
  # Use Mustache renderer
  config.add_renderer(name='.mustache',
    factory='myapp.mustacherenderer.MustacheRendererFactory')
  # ...

在您的意见中使用:

@view_config(route_name='myview', renderer='myapp:templates/notes.mustache')
def my_view(request):
  # ...

标签:template-engine,pyramid,mustache,python
来源: https://codeday.me/bug/20191101/1982263.html