支持Jinja2模板的A/B测试

jinja-ab的Python项目详细描述


Build status

这是Jinja的A/B测试扩展。它允许你编码 在模板中进行实验并呈现由 AB_EXPERIMENT环境变量。“控制”是默认值 如果未指定AB_EXPERIMENT,则为实验名称!

要安装:

pip install jinja-ab

在代码中启用如下扩展:

import os
import jinja_ab

env = Environment(
        loader=FilesystemLoader(),
        extensions=[jinja_ab.JinjaAbExperimentExtension],
    )

os.environ['AB_EXPERIMENT'] = 'v1'
template = env.get_template('index.html')
return template.render(context)

模板语法为:

{% experiment control %}This is the control{% endexperiment %}
{% experiment v1 %}This is version 1{% endexperiment %}

还支持其他语法:

{% ab control %}This is the control{% endab %}
{% ab v1 %}This is version 1{% endab %}

您还可以将这两个标记混合在一个模板中:

{% experiment control %}This is the control{% endexperiment %}
{% ab v1 %}This is version 1{% endab %}

也支持单引号和双引号!

注意:此扩展处理基于模板字符串的呈现 关于AB_EXPERIMENT的值。这取决于你或者你的基于Jinja2的工具 决定如何处理结果。在Mr. Senko处 我们将此扩展用作 pelican-ab插件。

贡献

源代码和问题跟踪程序位于https://github.com/MrSenko/jinja-ab

商业支持

Mr. Senko为开源提供商业支持 图书馆,如果你需要的话!

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Jgit对于给定的存储库,我们如何确定新提交的列表,以及每个提交来自哪个分支?   从MS Access数据库添加java ComboBoxItem   如何禁止Java列表中不同类的实例?   java在没有Web的JAXR上使用Shiro过滤器。xml   由于java原因,无法在Ubuntu上安装Netbeans 8.2。awt。未找到恐怖和辅助技术   java JUnit对RuntimeException的处理(特别是)   java空集合在Apache CXF服务(JAXWS)中被转换为null   java CannotAcquireLockException问题   sql如何在数据库中对(Java)枚举建模(使用SQL92)   安卓在Java中获取友好url后面的文件名   java如何访问数组名以获取列表?   javascript Java Nashorn longBitsToDouble   java控制台<init>错误   java将一个LinkedList追加/连接到另一个LinkedList的最有效方式是什么?   Java for正在跳过的循环   java帮助创建带有动画的复杂Swing GUI   java Android编辑文本。setHint在片段中不工作