我的任务是让用户编辑自己的页面。
我看到如何将特定页面的权限授予组,但我该如何为用户执行此操作?
我试过使用django守护者:
UserObjectPermission.objects.assign_perm('change_custompage', user, obj=custompage)
但这并没有给我结果
我还找到了wagtailcore_grouppagepermission
表,并意识到权限原则与django auth_permission
我想授予编辑权限,并访问wagtail admin,我不需要任何其他内容
在这个特殊的任务中,我需要因为struct_blocks
而需要,我认为这是一个了不起的概念。
现在我看到两个选项:覆盖模板和使用wagtail之外的struct_block
的所有功能的能力,或者用权限解决的东西。
答案 0 :(得分:2)
两种可能性:
owner
字段设置为相关用户。)答案 1 :(得分:0)
感谢@gasman的帮助和建议,我这样做了如下:
第一
class PersonsIndexPage(RoutablePageMixin, Page):
...
@route(r'^$')
def index_view(self, request):
pages = PersonPage.objects.live().all()
return render(request, 'myapp/person_index_page.html', {
'page': self,
'pages': pages,
})
...
subpage_types = ['PersonPage']
第二:
class PersonPage(Page):
...
parent_page_types = ['PersonsIndexPage']
subpage_types = []
为小组添加对wagtail admin的访问权限,并授予创建PersonsIndexPage的权限
由于我是从Django admin创建个人页面,因此我创建了一个简单的操作,为所选用户创建一个页面:
我不知道bulk_create是否可行
def create_person_page(modeladmin, request, queryset):
root_page = PersonIndexPage.objects.first()
for user in queryset:
page = PersonPage(title=username), owner=user)
root_page.add_child(instance=page)
create_person_page.short_description = 'Create person page'