标题几乎概括了这个问题,早期的文档谈论的是/ 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/