我想使用pystache在我的pyrampid应用程序中提供的基于类的视图,但我不完全确定如何正确地集成两者我已经读过this了,但它没有提到使用基于类的视图。
如果我想使用基于类的视图,我将如何为pystache创建一个新的渲染器?有人能帮我吗?
另外,虽然我已经知道mustache是如何工作的,但似乎找不到关于python实现(pystache)的很多信息。有人能给我指个正确的方向吗?

最佳答案

实现aMustacheRendererFactory

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):
  # ...

关于python - 如何将pystache与 Pyramid 整合?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10857206/

10-09 12:28