在Wagtail CM中自定义后发布flash消息

2024-04-28 06:30:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用Wagtail的after_create_pageafter_edit_page钩子将数据推送到外部服务,我想根据响应显示错误或成功消息。有没有一种方法可以钩住发布页面后出现的flash消息?在


Tags: 数据方法消息错误createpageedit钩子
1条回答
网友
1楼 · 发布于 2024-04-28 06:30:42

您可以将Wagtail内部消息API用作wagtail_hook的一部分。这并没有被记录,但我已经用Wagtaildemo应用程序在本地进行了测试。在

Wagtail messagesAPI接受一个请求对象,可用于在请求响应的同时呈现成功/错误/警告消息。在

所有的消息都是只附加的,所以错误消息会出现在正在创建的页面的成功消息下面。在

下面是示例代码。在

# my_aap/wagtail_hooks.py
from wagtail.wagtailcore import hooks
from wagtail.wagtailadmin import messages


@hooks.register('after_edit_page')
def do_after_page_edit(request, page):
    messages.success(request, "Looking good")


@hooks.register('after_create_page')
def do_after_page_create(request, page):
    messages.error(request, "Failed to send items to external server")

这些消息不会影响编辑或创建页面响应视图的总体HTTP响应。在

您还可以看到在wagtailadmin/views/pages.py创建和编辑页面时如何使用内部消息API。你甚至可以很容易地在按钮上创建信息。在

相关问题 更多 >