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

在编辑页面时在wagtail中修改预览按钮中的URL

在编辑页面时,在Wagtail中修改预览按钮中的URL,可以通过自定义Wagtail的模板和视图来实现。

首先,需要创建一个自定义的模板,用于替换Wagtail默认的编辑页面模板。可以在项目的templates目录下创建一个名为page_editor.html的文件,并将以下内容添加到文件中:

代码语言:txt
复制
{% extends "wagtailadmin/pages/create.html" %}

{% block extra_js %}
{{ block.super }}
<script>
    // 修改预览按钮的URL
    $(function() {
        var previewButton = $('.action-preview');
        var previewUrl = previewButton.attr('href');
        var newPreviewUrl = previewUrl.replace('/preview/', '/custom-preview/');
        previewButton.attr('href', newPreviewUrl);
    });
</script>
{% endblock %}

在上述模板中,我们使用了jQuery来修改预览按钮的URL。将/preview/替换为/custom-preview/,这样就可以将预览按钮的URL定制为我们想要的地址。

接下来,需要创建一个自定义的视图,用于处理修改后的预览URL。可以在项目的views.py文件中添加以下代码:

代码语言:txt
复制
from wagtail.admin.views.pages import PreviewOnEditView

class CustomPreviewOnEditView(PreviewOnEditView):
    def get_preview_url(self, page):
        # 自定义预览URL的生成逻辑
        return '/custom-preview/' + page.slug

在上述代码中,我们继承了Wagtail默认的PreviewOnEditView视图,并重写了get_preview_url方法,用于生成自定义的预览URL。这里我们简单地将/custom-preview/与页面的slug拼接起来作为预览URL。

最后,需要将自定义的视图注册到Wagtail的URL配置中。可以在项目的urls.py文件中添加以下代码:

代码语言:txt
复制
from django.urls import re_path
from .views import CustomPreviewOnEditView

urlpatterns = [
    # 其他URL配置...
    re_path(r'^custom-preview/(\d+)/$', CustomPreviewOnEditView.as_view(), name='custom_preview'),
]

在上述代码中,我们将/custom-preview/后面的数字作为页面的ID传递给自定义的视图。

完成以上步骤后,编辑页面时的预览按钮的URL就会被修改为自定义的URL。需要注意的是,以上代码只是提供了一个示例,实际情况中可能需要根据具体需求进行适当的修改。

推荐的腾讯云相关产品:腾讯云服务器(CVM)、腾讯云对象存储(COS)、腾讯云数据库(TencentDB)等。具体产品介绍和更多信息,请参考腾讯云官方网站:腾讯云

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

相关·内容

requests库解决字典值列表URL编码问题

问题背景处理用户提交数据,有时需要将字典序列化为 URL 编码字符串。 requests 库,这个过程通常通过 parse_qs 和 urlencode 方法实现。...然而,当列表作为字典值,现有的解决方案会遇到问题。...这是因为 URL 编码,列表值会被视为字符串,并被编码为 “%5B%5D”。解决方案为了解决这个问题,我们需要在 URL 编码之前对字典值进行处理。一种可能解决方案是使用 doseq 参数。... Python urllib.parse ,urlencode 方法有一个 doseq 参数,如果设置为 True,则会对字典值进行序列化,而不是将其作为一个整体编码。...该函数,我们使用 urllib.parse.urlencode 方法对参数进行编码,同时设置 doseq 参数为 True。通过这种方式,我们可以 URL 编码中正确处理列表作为字典值情况。

12630

URL实现简易WebAPI验签

本文相关源码和案例已开源,地址:https://github.com/sangyuxiaowu/SignAuthorization 原理说明 简易 API url 签名验证中间件,通过简单url参数验证请求是否合法...app.UseSignAuthorization(opt => { opt.sToken = "you-api-token"; }); 使用验证方式 需要签名地方添加 SignAuthorizeAttribute...json 返回 sToken SignAuthorizationMiddleware API签名使用token WithPath false 签名需要包含请求路径,以 '/' 开头 Expire...timestamp={unixTimestamp}&nonce={sNonce}&signature={sign}"); 使用案例 开源仓库,提供了两个 weatherforecast 接入验证样例...TestWebMiniAPI 和 TestWebAPI,引入 nuget 包 Sang.AspNetCore.SignAuthorization 后,仅需要修改很少部分就可以实现 API 访问 URL

1K20

python修改.properties文件操作

java 编程,很多配置文件用键值对方式存储 properties 文件,可以读取,修改。...而且java 中有 java.util.Properties 这个类,可以很方便处理properties 文件, python 虽然也有读取配置文件类ConfigParser, 但如果习惯java...才可以看到效果,基本可以达到用python 读写 properties 文件效果. 补充知识:python修改配置文件某个字段 思路:要修改文件filepath ?...将修改文件写入f2,删除filepath,将f2名字改为filepath,从而达到修改 修改字段可以参数化,即下面出现 lilei 可以参数化 imort os tag=“jdbc.cubedata.username...以上这篇python修改.properties文件操作就是小编分享给大家全部内容了,希望能给大家一个参考。

3.7K20

负margin页面布局应用

2017-11-07 07:23:04 两栏布局 页面中经常会遇到两列情况,比如说左侧栏固定宽度,右侧栏自适应宽度,此时可以用flex布局方式,但是这种方式ie8上不兼容,但是也可以用table...这里我们来说用margin负值来实现两栏布局。...height: 400px;float: left;width: 200px;background: red;margin-left: -100%;"> 如上代码,即可实现一个两列布局...去除列表右边距 项目中经常会使用浮动列表展示信息,为了美观通常为每个列表之间设置一定间距(margin-right),当父元素宽度固定式,每一行最右端li元素右边距就多余了,去除方法通常是为最右端...去除列表最后一个li元素border-bottom 列表我们经常会添加border-bottom值,最后一个liborder-bottom往往会与外边框重合,视觉上不雅观,往往要移除。

1K20

Flutter 创建可拖动浮动操作按钮

该Listener小部件具有onPointerMove可用于反馈当指针移动事件,这将被称为参数。...一个浮动动作按钮通常可以点击执行一个动作,所以我们添加一个名为onPressed( VoidCallback) 参数作为参数。...通常,所需行为是onPressed仅在点击按钮时调用回调,而不是拖动结束时调用。然而,当拖动结束,指针向上事件也会被触发。作为解决方案,我们需要跟踪按钮是否被拖动。...它应该更新到true指针移动。所以,我们可以检查内部onPointerUpcallback 仅onPressed值为_isDraggingis 时调用回调false。...key: _key, child: widget.child, ), ), ); } } 输出: 概括 这就是如何在 Flutter 创建可拖动浮动操作按钮

5.5K10

JSP页面调用另一个JSP页面变量

https://blog.csdn.net/huyuyang6688/article/details/16896447          jsp学习,经常需要在一个jsp页面调用另一个jsp...页面变量,下面就这几天学习,总结一下。         ...i值传到b.jsp:                       a.jsp页面核心代码为:                            传参     (说明:给i赋值也可以用jsp表达式,例如i=)                       b.jsp页面核心代码为:                          ...name值传送到b.jsp:                       a.jsp页面核心代码为:                            <%request.setAttribute

7.4K52

如何快速判断某 URL 是否 20 亿网址 URL 集合

它实际上是一个很长二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否一个集合。它优点是空间效率和查询时间都比一般算法要好的多,缺点是有一定误识别率和删除困难。...比如:某个URL(X)哈希是2,那么落到这个byte数组第二位上就是1,这个byte数组将是:000….00000010,重复,将这20亿个数全部哈希并落到byte数组。...但是如果这个byte数组上第二位是0,那么这个URL(X)就一定不存在集合。...多次哈希: 为了减少因哈希碰撞导致误判概率,可以对这个URL(X)用不同哈希算法进行N次哈希,得出N个哈希值,落到这个byte数组上,如果这N个位置没有都为1,那么这个URL(X)就一定不存在集合...数组维护类:BitArray

1.8K30

python爬虫小知识,中文url编码解码

有时候我们做爬虫经常会遇到这种编码格式,大概样式为 %xx%xx%xx,对于这部分编码,python提供了一个quote方法来编码,对应解码为unquote方法。...因为我pycharm很旧了,版本没有更新,所以,用f-string会提示错误,但实际上能运行。 通过上图可以看到,很简单方式就可以编码和解码了!...需要注意就是它们格式必须一致,否则会出现乱码! ?...关于爬虫 今天给大家分享就是这些,有的网站参数或者url里,是需要把中文转换为特殊格式才可以,那么就会用到今天这个方法,而且它本身还有其他很多功能,比如部分转换等等功能。...最近迷上了GUI做程序,在做一个爬虫下载+列表播放小项目,做完后分享出来,大家加油!

1.5K30

python爬虫小知识,中文url编码解码

有时候我们做爬虫经常会遇到这种编码格式,大概样式为 %xx%xx%xx,对于这部分编码,python提供了一个quote方法来编码,对应解码为unquote方法。...因为我pycharm很旧了,版本没有更新,所以,用f-string会提示错误,但实际上能运行。 通过上图可以看到,很简单方式就可以编码和解码了!...需要注意就是它们格式必须一致,否则会出现乱码!...关于爬虫 今天给大家分享就是这些,有的网站参数或者url里,是需要把中文转换为特殊格式才可以,那么就会用到今天这个方法,而且它本身还有其他很多功能,比如部分转换等等功能。...最近迷上了GUI做程序,在做一个爬虫下载+列表播放小项目,做完后分享出来,大家加油!

2.4K20

WordPress 文章或页面运行PHP 代码

如果你在编辑输入PHP 代码,默认的话WordPress 不会为你执行这段代码——只会文本方式输出。...Tutsplus 上有一篇文章以插件方式告知我们实现在WordPress 文章或页面运行PHP 代码方法,下面介绍下。...原理小介绍 懂php 都知道,PHP载入其他PHP文件可以用include() 或者 require() 函数,因此为了实现在WordPress 文章或页面运行PHP 代码,我们可以将打算运行代码写入一个额外...那么此时,WordPress 编辑写文章时候用下面的短代码插入短代码: [phpcode file="wordsbackward"] 即可运行相应wordsbackward.php文件,如图:...PS:Tutsplus 上原文不知为何已经被删除,Jeff 是RSS 阅读器上保留下,但还是感谢原作者。经过亲自测试代码可行。

4.4K100
领券