使用cherrypy中的外部文件配置工具

时间:2011-06-05 01:05:23

标签: python cherrypy

我正在试图找出如何配置工具,以便在使用外部配置文件在cherrypy中收到请求时运行。我已经阅读了文档中的示例,但这些都将配置嵌入到源文件中,而不是单独的配置文件中。我已经读过可以在外部配置工具,但我没有找到任何示例。

wiki为例,我希望能够像这样逻辑地做一些事情:

tools.print_path = cherrypy.Tool('on_start_resource', {what goes here?})

假设我的PYTHONPATH中有一个名为'mytools.py'的文件,我可以使用'import mytools'导入,在这个文件中我有一个简单的“def print_path(multiplier = 1)”方法。我在“{what goes here?}”点上放了什么?我在mytools.print_path上尝试了各种变体,我得到的最好的是:

CherryPy Checker:
The config entry 'tools.print_path' may be invalid, because the 'print_path' tool was not found.
section: [/]

如果有人能指出我正确的方向,我会非常感激。

1 个答案:

答案 0 :(得分:0)

配置文件中没有用于实例化工具的工具(cherrypy.Tool(...)部分)。你需要在代码中这样做。您的“mytools.py”文件应如下所示:

def print_path(multiplier=1):
    ...
cherrypy.tools.print_path = cherrypy.Tool('on_start_resource', print_path)

...然后您的配置文件用于打开给定URL(及其子项)的工具:

[/]
tools.print_path.on: True
tools.print_path.multiplier: 23

在启动脚本中处理配置文件之前,请确保“导入mytools”。