首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Wagtail Admin:如何控制用户在提交更改以进行审核后重定向到何处

Wagtail Admin是一个基于Django框架的开源内容管理系统(CMS),用于构建和管理网站的后台管理界面。它提供了一套强大的工具和功能,使开发人员能够轻松地创建和编辑网站内容。

在Wagtail Admin中,可以通过配置来控制用户在提交更改后重定向到特定的页面。这可以通过以下步骤完成:

  1. 首先,需要创建一个自定义的表单(form),用于提交更改并进行审核。可以使用Django的表单功能来创建这个表单,并在其中添加相应的字段和验证规则。
  2. 在表单中,可以使用Wagtail Admin提供的save()方法来保存用户提交的更改。在保存之前,可以使用cleaned_data属性来获取用户输入的数据,并进行相应的处理和验证。
  3. 在保存成功后,可以使用Wagtail Admin提供的redirect()方法来重定向用户到指定的页面。可以将重定向URL作为参数传递给redirect()方法,以实现重定向功能。
  4. 如果需要在重定向时显示一条成功消息,可以使用Wagtail Admin提供的messages.success()方法来添加一条成功消息,并在重定向时显示给用户。

下面是一个示例代码,演示了如何在Wagtail Admin中控制用户在提交更改后重定向到指定页面的过程:

代码语言:txt
复制
from django import forms
from django.shortcuts import redirect
from django.contrib import messages
from wagtail.admin.forms import WagtailAdminPageForm

class MyCustomForm(WagtailAdminPageForm):
    # 添加自定义字段和验证规则
    my_field = forms.CharField()

    def save(self, commit=True):
        # 处理和验证用户输入的数据
        cleaned_data = self.cleaned_data
        # 保存用户提交的更改
        instance = super().save(commit=commit)
        # 添加成功消息
        messages.success(self.request, '更改已提交成功!')
        # 重定向到指定页面
        return redirect('/my-custom-page/')

# 在Wagtail Admin中使用自定义表单
class MyCustomPage(Page):
    base_form_class = MyCustomForm

在上面的示例中,我们创建了一个名为MyCustomForm的自定义表单,继承自WagtailAdminPageForm。在表单中,我们添加了一个名为my_field的自定义字段,并重写了save()方法来处理和保存用户提交的更改。

save()方法中,我们首先调用了父类的save()方法来保存用户提交的更改。然后,我们使用messages.success()方法添加了一条成功消息,并使用redirect()方法重定向用户到/my-custom-page/页面。

最后,我们将自定义表单MyCustomForm应用到一个Wagtail页面模型MyCustomPage中,以在Wagtail Admin中使用这个自定义表单。

这样,当用户在Wagtail Admin中提交更改后,他们将被重定向到/my-custom-page/页面,并显示一条成功消息。

推荐的腾讯云相关产品:腾讯云服务器(CVM)、腾讯云数据库(TencentDB)、腾讯云内容分发网络(CDN)、腾讯云对象存储(COS)等。您可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多关于这些产品的详细信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 配置更安全的服务器Windows 2003 Server

    步骤 ==================================================================================== 注意:安装和配置 Windows Server 2003。 1. 将\System32\cmd.exe转移到其他目录或更名; 2. 系统帐号尽量少,更改默认帐户名(如Administrator)和描述,密码尽量复杂; 3. 拒绝通过网络访问该计算机(匿名登录;内置管理员帐户;Support_388945a0;Guest;所有非操作系统服务帐户) 4. 建议对一般用户只给予读取权限,而只给管理员和System以完全控制权限,但这样做有可能使某些正常的脚本程序不能执行,或者某些需要写的操作不能完成,这时需要对这些文件所在的文件夹权限进行更改,建议在做更改前先在测试机器上作测试,然后慎重更改。 5. NTFS文件权限设定(注意文件的权限优先级别比文件夹的权限高): 文件类型 建议的 NTFS 权限 CGI 文件(.exe、.dll、.cmd、.pl) 脚本文件 (.asp) 包含文件(.inc、.shtm、.shtml) 静态内容(.txt、.gif、.jpg、.htm、.html) Everyone(执行) Administrators(完全控制) System(完全控制) 6. 禁止C$、D$一类的缺省共享 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters AutoShareServer、REG_DWORD、0x0 7. 禁止ADMIN$缺省共享 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters AutoShareWks、REG_DWORD、0x0 8. 限制IPC$缺省共享 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa restrictanonymous REG_DWORD 0x0 缺省 0x1 匿名用户无法列举本机用户列表 0x2 匿名用户无法连接本机IPC$共享 说明:不建议使用2,否则可能会造成你的一些服务无法启动,如SQL Server 9. 仅给用户真正需要的权限,权限的最小化原则是安全的重要保障 10. 在本地安全策略->审核策略中打开相应的审核,推荐的审核是: 账户管理 成功 失败 登录事件 成功 失败 对象访问 失败 策略更改 成功 失败 特权使用 失败 系统事件 成功 失败 目录服务访问 失败 账户登录事件 成功 失败 审核项目少的缺点是万一你想看发现没有记录那就一点都没辙;审核项目太多不仅会占用系统资源而且会导致你根本没空去看,这样就失去了审核的意义。 与之相关的是: 在账户策略->密码策略中设定: 密码复杂性要求 启用 密码长度最小值 6位 强制密码历史 5次 最长存留期 30天 在账户策略->账户锁定策略中设定: 账户锁定 3次错误登录 锁定时间 20分钟 复位锁定计数 20分钟 11. 在Terminal Service Configration(远程服务配置)-权限-高级中配置安全审核,一般来说只要记录登录、注销事件就可以了。 12. 解除NetBios与TCP/IP协议的绑定 控制面版——网络——绑定——NetBios接口——禁用 2000:控制面版——网络和拨号连接——本地网络——属性——TCP/IP——属性——高级——WINS——禁用TCP/IP上的NETBIOS 13. 在网络连接的协议里启用TCP/IP筛选,仅开放必要的端口(如80) 14. 通过更改注册表Local_Machine\System\CurrentControlSet\Control\LSA-RestrictAnonymous = 1来禁止139空连接 15. 修改数据包的生存时间(TTL)值 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters DefaultTTL REG_DWORD 0-0xff(0-255 十进制,默认值128) 16. 防止SYN洪水攻击 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters SynAttackProtect REG_DWORD 0x2(默认值为0x0) 17. 禁止响应ICMP路由通告报文 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters \Interfaces\interfa

    03

    二挡起步——pythonweb开发Django框架,前端原生+Django后端框架002(附带小案例)

    Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛手Django Reinhardt来命名的。Django是高水准的Python编程语言驱动的一个开源模型.视图,控制器风格的Web应用程序框架,它起源于开源社区。使用这种架构,程序员可以方便、快捷地创建高品质、易维护、数据库驱动的应用程序。这也正是OpenStack的Horizon组件采用这种架构进行设计的主要原因。另外,在Dj ango框架中,还包含许多功能强大的第三方插件,使得Django具有较强的可扩展性 [2] 。Django 项目源自一个在线新闻 Web 站点,于 2005 年以开源的形式被释放出来。

    02
    领券