跳转到主要内容

Wagtail网站的特性标志

项目描述

Wagtail-Flags

Build Status Ethical open source

特性标志允许您根据可配置的条件切换功能。

Wagtail-Flags 在 Django-Flags 的基础上添加了Wagtail管理UI和基于Wagtail站点的条件。有关特性标志的更完整概述及其使用方法,请参阅 Django-Flags 文档

Feature flags in the Wagtail admin

依赖关系

  • Python 3.8+
  • Django 3.2 (LTS)+
  • Django-Flags 4.2
  • Wagtail 4.0+

它应该与所有中间版本兼容。如果您发现不兼容,请 提交一个问题

安装

  1. 安装 Django-Flags 和 Wagtail-Flags
pip install django-flags
pip install wagtail-flags
  1. flagswagtailflags 添加到您的 Django settings.py 中作为已安装的应用程序
INSTALLED_APPS = (
    ...
    'flags',
    'wagtailflags',
    ...
)

使用

请参阅 Django-Flags 文档,了解有关定义和检查功能标志的最新信息。

首先,在 Django settings.py 中定义标志

FLAGS = {
    'MY_FLAG': []
}

然后,在 Django 模板(mytemplate.html)中使用该标志

{% load feature_flags %}
{% flag_enabled 'MY_FLAG' as my_flag %}

{% if my_flag %}
  <div class="flagged-banner">
    I’m the result of a feature flag.
  </div>
{% endif %}

接下来,在 urls.py 中配置该模板的 URL

from django.urls import path
from django.views.generic import TemplateView

urlpatterns = [
    path(r'mypage/', TemplateView.as_view(template_name='mytemplate.html')),
]

最后,在 Wagtail 管理员中的“设置”,“标志”,“MY_FLAG”下添加标志的条件

Creating conditions in the Wagtail admin

扩展条件

Wagtail-Flags 为 Django-Flags 添加以下条件

站点

允许标志在符合条件值中主机名和端口的 Wagtail 站点上启用。

FLAGS = {
    'MY_FLAG': [
        {'condition': 'site', 'value': 'staging.mysite.com'}
    ],
}

信号

Wagtail-Flags 包含 flag_enabledflag_disabled 信号,可以在管理员中按下“为所有请求启用”和“为所有请求禁用”按钮时接收。这旨在启用前端缓存失效等操作。

from django.dispatch import receiver

from wagtail.contrib.frontend_cache.utils import purge_url_from_cache

from wagtailflags.signals import flag_disabled, flag_enabled


@receiver(flag_enabled)
def purge_on_flag_enabled(sender, **kwargs):
    flag_name = kwargs["flag_name"]
    purge_url_from_cache(...)

@receiver(flag_disabled)
def purge_on_flag_disabled(sender, **kwargs):
    flag_name = kwargs["flag_name"]
    purge_url_from_cache(...)

请注意:这些信号仅在管理员中手动按下“为所有请求启用”和“为所有请求禁用”按钮时发送。其他标志条件可能在不同请求周期内有效,且仅在特定请求周期内有效。

获取帮助

请将问题添加到 问题跟踪器

参与其中

有关如何贡献的一般说明,请参阅 CONTRIBUTING

许可证

  1. 术语
  2. 许可证
  3. CFPB 源代码政策

致谢和引用

  1. cfgov-refresh 分支

项目详情


下载文件

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

源分布

wagtail_flags-5.3.1.tar.gz (16.1 kB 查看哈希)

上传时间

构建分布

wagtail_flags-5.3.1-py3-none-any.whl (23.3 kB 查看哈希)

上传时间 Python 3

由以下机构支持