我正在使用Mako制作静态文件模板。每次编辑和保存后,我必须重新启动Web应用程序才能看到效果。我可以配置Mako在每次保存时自动重新编译吗?
这里是有关缓存和基于文件系统的模板的文档:
您是否启用了页面缓存?
<%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,其中包含该模块的源代码。下次创建具有相同参数的模板时,将自动重新使用此模块文件。