如何配置Mako在每次编辑模板后自动重新编译?

问题描述 投票:0回答:1

我正在使用Mako制作静态文件模板。每次编辑和保存后,我必须重新启动Web应用程序才能看到效果。我可以配置Mako在每次保存时自动重新编译吗?

mako
1个回答
0
投票

这里是有关缓存和基于文件系统的模板的文档:

您是否启用了页面缓存?

<%page cached="True"/>

缓存参数

在Template或TemplateLookup上,可以使用以下参数配置缓存:

cache_enabled-将此设置为False将在呈现模板时禁用所有缓存功能。默认为True。例如:]]

lookup = TemplateLookup(
                directories='/path/to/templates',
                cache_enabled = False
                )

使用基于文件的模板

模板也可以使用filename关键字参数从文件中加载其模板源代码:

from mako.template import Template

mytemplate = Template(filename='/docs/mytmpl.txt')
print(mytemplate.render())

为了提高性能,从文件加载的模板还可以将源代码作为常规Python模块文件(即.py文件)缓存到文件系统上其生成的模块中。为此,只需将module_directory参数添加到模板中:

from mako.template import Template

mytemplate = Template(filename='/docs/mytmpl.txt', module_directory='/tmp/mako_modules')
print(mytemplate.render())

呈现以上代码时,将创建一个文件/tmp/mako_modules/docs/mytmpl.txt.py,其中包含该模块的源代码。下次创建具有相同参数的模板时,将自动重新使用此模块文件。

© www.soinside.com 2019 - 2024. All rights reserved.