未知
项目描述
关于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的方式
将plug调用添加到 app_cfg.py
from tgext.pluggable import plug ... plug(base_config, 'switchboard_tg2')
导入Switchboard的操作符,并在Python代码中使用它来可选地显示来自root.py控制器的闪存消息,作为在Python代码中使用Switchboard的示例
from switchboard import operator ... if operator.is_active('hello_world'): flash('Hello World')
接下来,我们希望将操作符传递给模板,以便我们也可以在那里使用它。同样,在root.py控制器中
return(page='index', operator=operator)
最后,我们可以在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_world 和 getting_started 开关。
将 getting_started 开关设置为“对所有人激活”并重新加载索引页面。现在重新加载 Switchboard 管理界面,您应该会看到更多“入门”部分的子开关。这些开关之所以未被创建,是因为它们的父开关没有被打开之前它们甚至没有被选中。
尝试开启和关闭各种开关,看看它对索引页面的影响。您还可以尝试为开关添加条件,看看在特定条件下开关只有激活时会发生什么。
以下是所有对示例应用程序进行的更改的diff,从库存快速入门应用程序更改为具有 Switchboard 功能的应用程序
更多信息
您可以在 Switchboard 文档 中找到有关 Switchboard 以及如何在代码中使用它的更多信息。
项目详情
switchboard-tg2-0.3.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 559e4d699eb90b62faed53a928bb24d9b7ea15ef714c271123bd2c2968cd8a26 |
|
MD5 | d54e844fb92657a0f8ef04e257caf1d1 |
|
BLAKE2b-256 | 64ab048920550a50e6cb44e6cade55504a19bb93d282636ada1565ac0c72485f |