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()
Мы, по сути, добавили две строки в код быстрого запуска.Во-первых, у нас есть дополнительный звонок на config.update
;который объединяет конфиг в глобальный конфиг.Во-вторых, app.merge(confdict)
;это для объединения нескольких конфигов в каждое приложение.
Совершенно нормально делать это в обратном порядке, если вы хотите, чтобы файл конфигурации переопределял dict.Также можно вставить конфиг на основе dict в HelloWorld._cp_config
как , как описано в документации.