将特定页面的编辑权限分配给特定用户

时间:2017-01-18 19:31:18

标签: python django wagtail

我在Wagtail 1.8中寻找一种方法,在特定页面创建后为特定用户提供编辑和预览权限,因此我可以为他们创建文档的第一个版本,然后他们可以添加内容,调整和预览,直到他们对此感到满意为止。一种方法是将页面的所有权分配给它们,但该字段是只读的。错误是

django.core.exceptions.FieldError: 'owner' cannot be specified 
  for ArticlePage model form as it is a non-editable field

我可以通过将权限分配给具有正确权限的相应组(例如,预定义的Editor角色)来为用户提供所有文档的编辑和预览权限,但是我宁愿避免这样做,如果我可以。

1 个答案:

答案 0 :(得分:1)

这可以使用股票wagtail权限(http://docs.wagtail.io/en/v1.8/topics/permissions.html):

来完成

只需将用户分配给他自己的一组(因此您需要创建一个新组),然后为您提到的页面授予该组的编辑权限。权限将沿树向下传播,但由于该页面上没有子项,因此无关紧要。或者,您可以通过将subpage_types = []设置为自定义页面模型,明确禁止将页面编辑为包含子项。