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