标题几乎概括了这个问题,早期的文档谈论的是/ revision端点,但是我找不到它是否曾经实现过。

Wagtail具有出色的功能来编辑和保存页面,我只需要预览草稿在被应用程序使用时的外观即可。

最佳答案

该API旨在仅提供实时版本的页面,以避免泄漏不打算公开的信息。但是,可以通过将PagesAPIEndpoint子类化来覆盖此行为-例如:

from django.http import Http404
from rest_framework.response import Response
from wagtail.api.v2.endpoints import PagesAPIEndpoint


class DraftPagesAPIEndpoint(PagesAPIEndpoint):
    def detail_view(self, request, pk):
        instance = self.get_object()

        if request.GET.get('draft'):
            instance = instance.get_latest_revision_as_page()
        elif not instance.live:
            raise Http404

        serializer = self.get_serializer(instance)
        return Response(serializer.data)

然后,在注册URL端点时,请使用此类代替PagesAPIEndpoint:
api_router.register_endpoint('pages', DraftPagesAPIEndpoint)

这使您能够在URL中传递?draft=true来获取草稿版本。

关于django - Wagtail:我可以使用API​​来获取页面的只读草稿以进行检查吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47551049/

10-09 09:28