未提供项目说明
django-birdbath的Python项目详细描述
Django水盆
一个简单的工具,可以很好地清洗Django数据库数据。匿名化用户数据,删除开发环境中不需要的东西,或者其他你需要做的事情。在
使用
- {{cd2>添加到
- 在设置文件中根据需要设置
BIRDBATH_CHECKS
和{}(请参阅下面的配置)。在 - 运行
./manage.py run_birdbath
以触发处理器。在
重要!默认处理器是破坏性的,将匿名用户电子邮件和密码。不要在生产中运行!在
默认情况下,Birdbath启用一个Django system check,如果当前环境中没有触发Birdbath清理,它将触发一个错误。在
这是为了给开发人员一个提示,他们需要在运行runserver
之类的命令之前匿名/清理数据。在
建议的方法是在生产环境中使用环境变量将BIRDBATH_REQUIRED
设置为False
。在
使用--skip-checks
上的--skip-checks
标志可以跳过检查。在
配置
常用设置
BIRDBATH_REQUIRED
(默认:True
)-如果为True,则Django系统检查将在未执行匿名化时抛出错误。在生产环境中设置为False
。在BIRDBATH_CHECKS
-要在处理器之前执行的“Check”类的路径列表。如果其中任何一个返回False,处理器将拒绝运行。在BIRDBATH_PROCESSORS
-要执行以清除数据的“处理器”类的路径列表。在
处理器特定设置
BIRDBATH_USER_ANONYMISER_EXCLUDE_EMAIL_RE
(默认:example\.com$
)-一种正则表达式模式,用于在匿名时排除与特定电子邮件地址匹配的用户。在BIRDBATH_USER_ANONYMISER_EXCLUDE_SUPERUSERS
(默认:True
)-如果为True,则将从匿名中排除is_superuser
设置为True的用户。在
实现你自己的
您的站点可能会有一些自己的检查/处理器需求。在
检查
自定义检查可以通过子类化birdbath.checks.BaseCheck
并实现check
方法来实现:
from birdbath.checks import BaseCheck
class IsDirtyCheck(BaseCheck):
def check(self):
return os.environ.get("IS_DIRTY")
如果检查应该继续,check
方法应该返回True
,或者{
处理器
自定义处理器可以通过子类化birdbath.processors.BaseProcessor
并实现run
方法来实现:
检查/处理器参考
检查
checks.contrib.heroku.HerokuNotProductionCheck
-如果没有设置HEROKU_APP_NAME
环境变量,或者它设置并包含单词production
,则失败。在checks.contrib.heroku.HerokuAnonymisationAllowedCheck
-如果ALLOWS_ANONYMISATION
环境变量与应用程序的名称不匹配,则失败。在
处理器
processors.users.UserEmailAnonymiser
-用随机地址替换用户电子邮件地址processors.users.UserPasswordAnonymiser
-用随机uuid替换用户密码processors.contrib.wagtail.SearchQueryCleaner
-删除完整的搜索查询历史记录processors.contrib.wagtail.FormSubmissionCleaner
-删除所有表单提交
- 项目
标签: