使已删除的页面仅临时删除。

wagtail-recycle-bin的Python项目详细描述


摇尾回收站

按delete键时,页面将被扔进“回收站”,而不是删除页面。在

安装

首先安装python包: pip install wagtail-recycle-bin

然后将其添加到您的INSTALLED_APPS

INSTALLED_APPS=[# ..."wagtail_recycle_bin",]

执行迁移,等等!在

工作原理

Wagtail回收站的工作方式是挂接到Wagtail钩子before_delete_page并重写delete视图。 页面将被移动到特殊的“回收站”页面,而不是删除页面。删除的页面和所有子体将取消发布。 从Wagtail admin的回收站可以永久删除页面或恢复页面。还原页面还将重新发布删除时发布的页面。 如果已删除页的父级在回收站中或已永久删除,则仍可以通过提供备用父级来还原这些页。在

注意事项

由于Wagtail回收站使用钩子before_delete_page,如果您定义了一个返回状态代码的钩子,那么它可能会干扰您的应用程序before_delete_page。确保wagtail回收站是最后一个运行的钩子,否则您的自定义before_delete_page可能无法运行,因为wagtail回收站不调用它。在

另外,Wagtail回收站通过取消发布来“删除”页面,因此,如果您使用的查询集不过滤未发布的页面,则可能会显示回收页面。有一个经理可以为您解决这个问题,例如:

^{pr2}$

权限:如果删除受限制区域下的页面,则此页面将被移动,从而获得新的权限。用户可能不被允许查看“机密页”下的页面,但当此区域下的页面移动到“回收站”时,“机密页面”的权限将消失,因此用户现在可以在回收站中看到它。 这是一个可解决的问题,将在以后的版本中修复。在

定期清理垃圾箱

包含一个名为empty_recycle_bin的管理命令,它接受一个必需的参数--older_than_days。要删除存储箱中存放超过30天的所有项目,请运行以下命令:

./manage.py empty_recycle_bin --older_than_days=30

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

推荐PyPI第三方库


热门话题
java无法启动应用程序:JNLP错误   java根据用户输入在PreparedStatement中使用setTime()或setNull()   java EJB与同步   java以object为键通过hashmap进行搜索   java中的模10^9+7   针对包含其他对象的对象的java OOP最佳实践   如何将字符串作为HTML代码从Java文件读取到JSP页面?   java我的POM怎么了?“解析表达式..检测到递归表达式循环”   用于Hbase的Mapreduce的java NoSuchMethodError   JAVAlang.SecurityException:权限拒绝:启动意图{act=安卓.Intent.action.MAIN cat=[安卓.Intent.category.LAUNCHER]   数组初始化谜语Java   通过arraylist搜索时的java句柄关联