用于提取子页面的Wagtail Admin api调用在资源管理器中返回0

时间:2019-09-06 16:48:28

标签: wagtail

我将wagtail从2.4更新到了最新版本2.6.1,并注意到获取子页面以在ADMIN UI资源管理器中显示的API调用现在返回0页。

admin/api/v2beta/pages/?child_of=1&for_explorer=1

enter image description here

{meta: 
    {total_count: 0}, 
        items: [], 
        __types: {}}
    items: []
    meta: {total_count: 0}
    total_count: 0
    __types: {}

反正还有吗?

2 个答案:

答案 0 :(得分:1)

其他一些用户在Wagtail 2.6上报告了此问题(另请参见Menu navigator disappeared after upgrading to Wagtail 2.6 (from 2.5)),但到目前为止,还没有将其确定为可重现的测试用例。

如果您在本地开发版本中看到此错误,并且对git和pip充满信心,那么对此进行跟踪将非常有用的一件事就是设置本地开发根据{{​​3}}中的文档复制Wagtail 2.6,然后在git blame分支上运行stable/2.6.x,以查找导致此错误的提交。 (请注意,如果您仅查看API输出,则可以安全地跳过npm生成步骤,因为它们仅是为管理后端生成CSS / JS所必需的。)

我怀疑https://docs.wagtail.io/en/stable/contributing/developing.html(拉动请求https://github.com/wagtail/wagtail/commit/7c9c00ab7c791e69dc3476a7298783f875f00c21)可能是罪魁祸首,但最好得到确认。

答案 1 :(得分:1)

如果您的项目为Django REST Framework的DEFAULT_AUTHENTICATION_CLASSES设置设置了自定义值,则似乎会发生这种情况。在这种情况下,Wagtail的admin API最终将基于指定的身份验证方法而不是当前登录的用户返回结果。

https://github.com/wagtail/wagtail/issues/5585#issuecomment-543313909

要解决此问题,请将'rest_framework.authentication.SessionAuthentication'添加到您的DEFAULT_AUTHENTICATION_CLASSES设置中。新版本2.6.3可能会在接下来的几天内发布以解决此问题。