如何在Cherrypy配置工具中指定Mako模板目录?

2 投票
2 回答
527 浏览
提问于 2025-04-17 04:08

我正在尝试使用这个

http://tools.cherrypy.org/wiki/Mako

上面说我需要两个配置选项来使用

tools.mako.collection_size = 500
tools.mako.directories = "path/to/templates"

我应该在哪里设置这些选项,怎么设置这些选项呢?

2 个回答

1

在CherryPy中,有两种常见的配置方式。如果你不设置任何配置选项,那么系统会使用默认值,这时你会在启动cherrypy应用时看到一个警告,提示配置是空的。

第一种方法是读取一个配置文件。你可以这样做:

include cherrypy
include os.path

# Create your application / page handlers here

if __name__ == '__main__':
    global_conf_file = os.path.join(os.path.dirname(__file__, 'server.conf'))
    cherrypy.config.update(global_conf_file)
    cherrypy.quickstart(Myapp(), config=global_config_file)

这些内容可以直接放在配置文件中,并加上一个[global]的标题,这样整个文件看起来会是这样的:

[global]
tools.mako.collection_size = 500
tools.mako.directories = 'path/to/templates'

如果你不想把配置选项放在一个单独的文件里,你也可以在主Python模块中以字典的形式包含它们,比如这样:

include cherrypy

# Create your application / page handlers here

if __name__ == '__main__':
    my_config = {'/': {'tools.mako.collection_size': 500,
                       'tools.mako.directories': 'path/to/templates'}}

    cherrypy.quickstart(Myapp(), my_config)

撰写回答