编程语言
首页 > 编程语言> > python-如何在CherryPy中访问请求之外的配置?

python-如何在CherryPy中访问请求之外的配置?

作者:互联网

我在CherryPy上运行了一个Webapp,该Webapp需要在用户创建请求之前访问CherryPy配置文件.文档说要使用:

host = cherrypy.request.app.config[‘database‘][‘host’]

但这在用户请求之外不起作用.您也可以在启动应用程序时使用应用程序对象,如下所示:


application = cherrypy.tree.mount(root, ‘/’, app_conf)
host = application.config[‘database’][‘host’]

但是我看不到在用户请求之外无法从其他类访问“应用程序”的方法.

我问是因为我们的应用程序查看了多个数据库,因此我们在应用程序启动时而不是根据用户请求来设置它们.我觉得这在其他地方也很有用;因此,有什么方法可以将对“应用程序”的引用存储在某个地方或通过CherryPy API对其进行访问?

解决方法:

is there any way to store a reference to ‘application’ somewhere…

只需使用普通的Python.对于名为“ myapp”的软件包:

# __init__.py
...
application = cherrypy.tree.mount(root, '/', app_conf)
...

# notarequest.py
import myapp
host = myapp.application.config['database']['host']

但是,我建议使用config设置数据库对象,然后检查那些数据库对象而不是检查config.

标签:cherrypy,python
来源: https://codeday.me/bug/20191106/1999709.html