django - Wagtail:如何拥有多种类型的管理员
问题描述
我正在使用 wagtail 制作一个博客网站,所以我们有多个作者,所以我需要没有人可以看到其他用户的草稿,只有超级管理员可以发布博客,但我找不到该设置。
解决方案
预览和提交页面以供审核
保存/预览/提交审核菜单始终显示在页面编辑/创建屏幕的底部。该菜单允许您执行以下操作,具体取决于您是编辑、版主 [...]
编辑(你称他们为作家)可以提交审核。版主可以发布。因此,您的这部分需求是内置的。我的建议是为每种类型创建用户并尝试了解此工作流程。
没有(开箱即用)方式仅向其创建者显示页面。但是,您可以授予组访问部分页面树的权限:
- 转到管理员中的页面。
- 右上角,点击隐私设置。公开是默认设置。
- 更改为“私有,特定组中的用户可以访问”。
- 选择一个组。
现在只有该组中的用户可以编辑此部分。所以这个页面和它所有的子页面。
默认有两个组:编辑和版主。您可以通过 创建新组/admin/groups/new/
。如果你给每个用户它自己的组,你就会得到你想要的。但是,他们的页面将存在于页面树的自己的部分中。
请注意,当您创建组时,还可以限制每种内容类型的权限。因此,您可以让一组用户负责特定类型的内容。
Wagtail 用户、组、权限、工作流程和隐私设置使得以细粒度的方式配置权限成为可能。这在大多数情况下就足够了。
当您有一个要求更高的项目要求时,您总是可以添加一些额外的逻辑来满足您的要求。Python/Django/Wagtail 是一个灵活的软件栈。但在去那里之前,我建议你看看标准设置是否足够。如果没有,您应该更详细地描述您的要求。
推荐阅读
- intellij-idea - 在 IntelliJ 中运行 JUnit 测试时如何防止想法测试输出文件?
- python - 下载 spacy 模型并获取 AttributeError 'NoneType' 对象没有属性 'ndarray'
- javascript - 在 xtype tagfield 中,发送到服务器的值显示为单个组合行。extjs
- google-bigquery - 按首选顺序进行正则表达式和子分类的有效方法
- javascript - 忽略 Firestore 中的 DocID
- php - 成功登录后,我应该在会话、全局变量或每个页面上的查询中保存用户数据吗?
- c# - Azure Functions - Cosmos db 输入绑定查询不起作用
- r - 对列表中的列表进行操作,将结果存储在全局环境中
- java - SpringBoot 项目中的占位符 application.properties 文件
- dart - Dart 中表达式和语句的区别?