Wagtail网站的特性标志
项目描述
Wagtail-Flags
特性标志允许您根据可配置的条件切换功能。
Wagtail-Flags 在 Django-Flags 的基础上添加了Wagtail管理UI和基于Wagtail站点的条件。有关特性标志的更完整概述及其使用方法,请参阅 Django-Flags 文档。
依赖关系
- Python 3.8+
- Django 3.2 (LTS)+
- Django-Flags 4.2
- Wagtail 4.0+
它应该与所有中间版本兼容。如果您发现不兼容,请 提交一个问题。
安装
- 安装 Django-Flags 和 Wagtail-Flags
pip install django-flags
pip install wagtail-flags
- 将
flags
和wagtailflags
添加到您的 Djangosettings.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”下添加标志的条件
扩展条件
Wagtail-Flags 为 Django-Flags 添加以下条件
站点
允许标志在符合条件值中主机名和端口的 Wagtail 站点上启用。
FLAGS = {
'MY_FLAG': [
{'condition': 'site', 'value': 'staging.mysite.com'}
],
}
信号
Wagtail-Flags 包含 flag_enabled
和 flag_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。
许可证
致谢和引用
- 从 cfgov-refresh 分支
项目详情
下载文件
下载适用于您平台文件的文件。如果您不确定要选择哪个,请了解有关 安装包 的更多信息。
源分布
wagtail_flags-5.3.1.tar.gz (16.1 kB 查看哈希)
构建分布
wagtail_flags-5.3.1-py3-none-any.whl (23.3 kB 查看哈希)
关闭
wagtail_flags-5.3.1.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f8139be3cd4dd2cfc96fd2157cbe8d7e8f042af2df4c331d7629663e23b8d710 |
|
MD5 | cb3f0ab93c5e50494844aac7d59454d7 |
|
BLAKE2b-256 | c5e188a73451074f04728661e309f38f6ecf83b47fe8ad7b19554bfb204dc25c |
关闭
wagtail_flags-5.3.1-py3-none-any.whl 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 97f964ce5e90b1d93b7a258f8d8993cd8b5c2b9002b331207fc6ba8b5bee2d09 |
|
MD5 | 857e31fd3f23aa4a30bbc5c35af244d1 |
|
BLAKE2b-256 | bb1795a191cc985f0795bfe73fafa34d733a60f706906fe94ccb3e506564ab58 |