jam*_*vey 6 python configuration cherrypy
我正在设置一个CherryPy应用程序,并希望将大部分配置设置放在.conf文件中,如下所示:
[global]
server.socketPort = 8080
server.threadPool = 10
server.environment = "production"
Run Code Online (Sandbox Code Playgroud)
但是,我还想在代码中设置一些字典,如下所示:
conf = {'/': {'tools.staticdir.on': True,
'tools.staticdir.dir': os.path.join(current_dir, 'templates')}}
cherrypy.quickstart(HelloWorld(), config=conf)
Run Code Online (Sandbox Code Playgroud)
是否可以将两个配置组合成一个,然后将其传递给config quickstart选项?
fum*_*chu 11
quickstart适用于快速网站.如果你正在做任何像多次配置一样复杂的事情,那么是时候毕业了.查看快速启动功能的源代码(它并不可怕!):您要将其解压缩到启动脚本中.所以不要quickstart写下这个:
cherrypy.config.update(conffile)
cherrypy.config.update(confdict)
app = cherrypy.tree.mount(HelloWorld(), '/', conffile)
app.merge(confdict)
if hasattr(cherrypy.engine, "signal_handler"):
cherrypy.engine.signal_handler.subscribe()
if hasattr(cherrypy.engine, "console_control_handler"):
cherrypy.engine.console_control_handler.subscribe()
cherrypy.engine.start()
cherrypy.engine.block()
Run Code Online (Sandbox Code Playgroud)
我们基本上在快速启动代码中添加了两行.首先,我们额外打电话给config.update; 将配置dict合并到全局配置中.第二,app.merge(confdict); 这是为了将多个配置合并到每个应用程序中.
如果您希望文件配置覆盖dict,那么以相反的顺序执行这些操作是完全可以的.HelloWorld._cp_config如文档中所述,坚持基于dict的配置也是可以的.
| 归档时间: |
|
| 查看次数: |
4779 次 |
| 最近记录: |