gpt4 book ai didi

python - 关于 Mako 模块、Mako 的 TemplateLookup 函数和 Pyramid 的一些问题

转载 作者:太空狗 更新时间:2023-10-29 21:40:50 25 4
gpt4 key购买 nike

我在查看 Mako 的文档时发现了 Mako 的 TemplateLookup 函数:Using TemplateLookup .但是,我从未在 Pyramid 的文档中看到过这一点,因为我从来不需要指定模块目录。我的问题是:

  1. 创建了哪些“模块”?这些像预编译的 .pyc 文件吗?
  2. 使用 TemplateLookup 与 Pyramid 的 render() 或 render_to_response() 会让模板更快吗?
  3. Pyramid 是否默认创建这些模块,但隐藏在用户看不到的地方?
  4. 根据文档,它说这些模块缓存在内存中。这与通过 Beaker 进行缓存有何不同?

由于我网站上的所有内容都是动态内容(基本上除了页脚),我想找出缓存模板或加速渲染的最佳方法,这看起来是一种加速渲染的简单方法,如果它甚至可以。

最佳答案

请在下面找到您问题的一些答案:

  1. 对于您拥有的每个模板,都会创建一个 python 模块 (.py),其中包含呈现模板所需的代码。这只是模板的优化版本,可以从 python 轻松执行。执行该模块时,还会创建 .pyc 文件。要检查这一点,您可以进行以下实验:

    from mako.template import Template
    Template(filename='template.mako', module_directory='.')

    假设 template.mako 存在,您将看到创建了 template.mako.pytemplate.mako.pyc

  2. 查看 pyramid.mako_templating.MakoLookupRenderer.__call__ 我看到用于在 Pyramid 中渲染 mako 模板的方法已经使用了一个 TemplateLookup 对象,所以有不会有任何区别。

  3. 我在 pyramid.mako_templating.renderer_factory 中看到有一个名为 mako.module_directory 的设置。这与其他类似设置一起可用于控制 mako 库行为以创建模块文件。我看起来默认行为不是创建这些文件(mako.module_directory 默认为 None),但您当然可以做任何您需要的事情。

  4. TemplateLookup 中看到一个名为 cache_impl 的参数,默认设置为 beaker,所以我猜没有任何区别。

关于python - 关于 Mako 模块、Mako 的 TemplateLookup 函数和 Pyramid 的一些问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9028504/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com