【问题标题】:TurboGears 2.x app-layer config namespacingTurboGears 2.x 应用层配置命名空间
【发布时间】:2012-03-04 01:51:04
【问题描述】:

来自 Django 背景,我习惯于框架提供一种配置机制,该机制适用于(并且适用于)应用层配置,而不仅仅是框架配置。

TurboGears 2.x 模板包含一个<app_module>.config.app_cfg 模块,可以被部署ini 文件覆盖;但是,这被明确记录为“特定于 TG2”的设置,并且我没有看到任何类型的命名约定或命名空间机制记录在案,这会阻止我为我的应用程序提出的配置条目与添加的新设置发生冲突将来会用到其他框架组件。

TurboGears 2.x 是否提供,或者为 TG2 开发人员(粘贴等)提供了公认的最佳实践集,是否包括任何机制来管理基于 TG2 构建的应用程序的配置,而不是特定于 TG2 本身?如果重用 TG2 配置机制是常规的,那么配置命名空间管理是否有任何公认的做法?

【问题讨论】:

    标签: paster turbogears2


    【解决方案1】:

    TurboGears2 中的config 支持复杂的结构,例如您可以在myapp.option1 myapp.option2 中为您的应用程序声明选项等。它们将在您的应用程序中以tg.config['myapp.option1']tg.config.myapp.option1 的形式访问。

    这样可以避免碰撞。

    选项可以在development.iniconfig.app_cfg中设置。

    例如,如果你把 app_cfg 放在里面

    base_config['myapp.option1'] = 'FOOBAR'
    

    可以从tg.config.myapp.option1 访问 FOOBAR 字符串

    注意base_config 对象会覆盖从 .ini 配置文件加载的选项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-03
      • 1970-01-01
      • 1970-01-01
      • 2011-03-09
      • 2015-12-10
      • 2011-12-29
      • 1970-01-01
      • 2015-11-12
      相关资源
      最近更新 更多