小编LB *_*ton的帖子

获取创建新 Wagtail 页面的父页面

创建新页面时,我需要根据父页面的值更改某些字段默认值。编辑现有页面时,这不是问题,但创建新页面时,我需要为字段设置默认值。我曾尝试覆盖管理表单,在 WagtailAdminPageForm 初始化时,parent_page 参数为空。如果我尝试在 Page 子类的 init 方法中执行此操作,则父信息中没有 arg 或 kwargs。

有没有办法获取新页面将成为父页面的页面?

这是我在 Page 构造函数上尝试过的

class CMSPage(Page):
    .
    .
    .
    def __init__(self, *args, **kwargs):
        super(BaseContentMixin, self).__init__(*args, **kwargs)

        if hasattr(self.get_parent().specific, 'published_site') and self.get_parent().specific.published_site == 'extranet':
            self.published_site = 'extranet'
Run Code Online (Sandbox Code Playgroud)

这适用于编辑页面,对于新页面,我发现 NoneType 对象没有特定的属性。

Django 版本是 1.10,Python 版本是 3.6,Wagtail 版本是 1.9

python django wagtail

5
推荐指数
1
解决办法
2991
查看次数

标签 统计

django ×1

python ×1

wagtail ×1