2011-05-20 96 views
3

我正在根據我在該B itBucket repository上找到的內容開展CherryPy應用程序。CherryPy:訪問全局配置

在本例中,有兩個配置文件server.cfg(又名「global」)和app.cfg。

兩個配置文件被加載在serve.py文件:現在

# Update the global settings for the HTTP server and engine 
cherrypy.config.update(os.path.join(self.conf_path, "server.cfg")) 

# ... 

# Our application 
from webapp.app import Twiseless 
webapp = Twiseless() 
# Let's mount the application so that CherryPy can serve it 
app = cherrypy.tree.mount(webapp, '/', os.path.join(self.conf_path, "app.cfg")) 

,我想補充的數據庫配置。 我的第一個想法是將其添加到server.cfg中(這是最好的地方嗎?還是應該放在app.cfg中?)。

但是,如果我在server.cfg中添加數據庫配置,我不知道如何訪問它。 使用:

cherrypy.request.app.config['Database'] 

僅當[數據庫]參數是app.cfg作品。

我試圖打印cherrypy.request.app.config,它只顯示了app.cfg中定義的值,server.cfg中沒有任何值。

所以我有兩個相關的問題:

  • 是它最好放在SERVER.CFG或app.cfg文件數據庫連接
  • 如何訪問SERVER.CFG配置(又名全球)我的代碼

感謝您的幫助! :)

回答

3

把它放在應用程序配置。如果我在同一臺服務器上安裝了一個不相關的博客應用程序/blogs,我希望它能夠共享該配置嗎?「如果是這樣,把它放在服務器配置。如果沒有,把它放在應用程序配置中。

還要注意全局配置沒有分區,所以你不能在這裏粘貼[Database]部分。只有應用程序配置允許部分。如果你想在全局配置中保留數據庫設置,你必須考慮像「database_port」這樣的配置條目名稱。然後您將直接通過該名稱訪問它:cherrypy.config.get("database_port")

+0

太棒了!謝謝! :) – 2011-05-21 08:57:13