跳转到主要内容

未知

项目描述

关于switchboard-tg2

switchboard-tg2提供了一种简单的方法将Switchboard(一个功能切换库)集成到TurboGears2应用程序中。

安装

switchboard-tg2可以从pypi安装

easy_install switchboard-tg2

应该适用于大多数用户。

使用switchboard-tg2

在您的应用程序 config/app_cfg.py 中导入 plug

from tgext.pluggable import plug

然后在文件的 末尾 调用plug与switchboard-tg2

plug(base_config, 'switchboard_tg2')

您将能够访问Switchboard的管理UI,地址为http://localhost:8080/switchboard

您还需要配置Switchboard对memcached和MongoDB的访问。默认情况下,Switchboard尝试在localhost和默认端口上连接到这两个服务。如果它无法连接,它将回退到内存等效服务,并在管理UI中显示警告消息。

虽然启用内存模式可以快速入门,但不建议在生产环境中使用此模式运行!

入门示例

switchboard-tg2代码 包含一个示例TurboGears 2应用程序,修改后使用Switchboard。该应用程序是一个快速入门应用程序,对其进行的唯一更改是为其设置Switchboard。您可以在“example”目录中找到该应用程序。以下是向应用程序添加Switchboard的方式

  1. 将plug调用添加到 app_cfg.py

    from tgext.pluggable import plug
    ...
    plug(base_config, 'switchboard_tg2')
  2. 导入Switchboard的操作符,并在Python代码中使用它来可选地显示来自root.py控制器的闪存消息,作为在Python代码中使用Switchboard的示例

    from switchboard import operator
    ...
    if operator.is_active('hello_world'):
        flash('Hello World')
  3. 接下来,我们希望将操作符传递给模板,以便我们也可以在那里使用它。同样,在root.py控制器中

    return(page='index', operator=operator)
  4. 最后,我们可以在index.html模板中使用操作符来使页面的各个部分打开或关闭

    <py:if test="operator.is_active('getting_started')">
    ...
    </py:if>

需要注意的是:模板演示了父/子开关的使用。“getting_started”开关是父开关。任何以“getting_started:”为前缀的开关都将是一个子开关。子开关从其父开关继承条件,并可以添加自己的条件。

要查看所有这些开关的操作:在示例目录中运行 paster serve development.ini,并在浏览器中指向 http://localhost:8080/。一旦您加载索引页面,Switchboard 中将自动创建遇到的开关。当您在 http://localhost:8080/switchboard/ 打开管理界面时,您将看到 hello_worldgetting_started 开关。

getting_started 开关设置为“对所有人激活”并重新加载索引页面。现在重新加载 Switchboard 管理界面,您应该会看到更多“入门”部分的子开关。这些开关之所以未被创建,是因为它们的父开关没有被打开之前它们甚至没有被选中。

尝试开启和关闭各种开关,看看它对索引页面的影响。您还可以尝试为开关添加条件,看看在特定条件下开关只有激活时会发生什么。

以下是所有对示例应用程序进行的更改的diff,从库存快速入门应用程序更改为具有 Switchboard 功能的应用程序

http://pastie.org/6634144

更多信息

您可以在 Switchboard 文档 中找到有关 Switchboard 以及如何在代码中使用它的更多信息。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

switchboard-tg2-0.3.tar.gz (3.8 kB 查看哈希值)

上传时间

由以下支持