2012-11-14 18 views
0

我有以下的金字塔.ini文件:重用貼config條目

[DEFAULT] 
redis.host = localhost 
redis.port = 6379 
redis.db = 0 

[app:main] 
... 

# beaker session 
session.type = redis 
session.url = localhost:6379 

app:main節的session.url我想用什麼下DEFAULT節的redis.hostredis.port定義。

根據我的理解,所有在DEFAULT下的部分都是全局的,並傳遞給其他部分。但是,如果我想重複使用DEFAULT中的設置並在其他部分爲其指定一個不同的名稱,我該怎麼做?

我正在用相同的方式查看使用${<section name>:<entry>}構建.cfg文件中的部分條目。

回答

3

session.url = %(redis.host)s:%(redis.port)s

應該做的伎倆。

+0

是否有語法對不在[DEFAULT]部分中的變量進行相同操作? – madjar

+2

除了您的部分和默認部分之間,或您的部分和繼承部分之外,沒有橫截面參考。這些都在PasteDeploy文檔中(Pyramid用來解析INI文件的庫)。 –

+0

雖然我注意到,即使我在'DEFAULT'部分有'redis.host'這個應該被'app:main'繼承的部分,'redis.host'設置和其他redis設置一起不會出現在Pyramid的'main(global_config,** settings)'下的設置''所以我最終在'DEFAULT'下使用了不同的名字,而是使用'app:main'下的實際'redis。*'設置。 – Marconi