Python - Flask 整合 UEditor

news2025/1/17 6:13:01

1. 引言

UEditor 是由百度「FEX前端研发团队」开发的所见即所得富文本 web 编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码

官方文档地址:http://fex.baidu.com/ueditor/

下载:https://download.csdn.net/download/wanzijy/87136139

2. 后端

文档地址:http://fex.baidu.com/ueditor/#dev-request_specification


示例:
在这里插入图片描述

新建一个 python 文件

from flask import Blueprint, request, render_template

ueditor = Blueprint("ueditor", __name__) // 记得要注册该蓝图,在此处不再进行演示

@ueditor.route('/uedit', methods=['GET', 'POST'])  //  此处的url与待会前端初始化时的serverUrl要一致
def uedit():
    """
    根据UEditor的接口定义规则, 如果前端参数为action=config,则表示试图请求后台的config.json文件
    请求成功则说明后台接口正常工作
    """
    param = request.args.get('action')
    if request.method == 'GET' and param == 'config':  //  对应上面图片中的url
        return render_template('config.json')

3. 前端 - 定制工具栏

自行新建一个 html 页面,首先引入上面下载的 JS 文件,然后对工具栏进行初始化
详细的介绍可以看官方文档:http://fex.baidu.com/ueditor/#start-config


下面是本人较为常用的工具栏

<script type="text/javascript" src="/resource/ue/ueditor.config.js"></script>
<script type="text/javascript" src="/resource/ue/ueditor.all.min.js"></script>

<script type="text/javascript">
        var ue = UE.getEditor('content', {
            initialFrameHeight: 400,
            autoHeightEnabled: true,
            serverUrl: '/uedit',  //  与上述后端定义的蓝图中的url一致
            toolbars: [[  //  指定工具栏图标
                'fontfamily',  //  字体
                'fontsize',  //  字号
                'paragraph',  //  段落格式
                '|',  //  可利用竖线作为工具栏分隔符
                'justifyleft',  //  居左对齐
                'justifycenter',  //  居中对齐
                'justifyright',  //  居右对齐
                'forecolor',  //  字体颜色
                'bold',  //  加粗
                '|',
                'formatmatch',  //  格式刷
                'horizontal',  //  分隔线
                'link',  //  超链接
                'unlink',  //  取消超链接
                'simpleupload',  //  单图上传
                'insertimage',  //  单图上传
                'emotion',  //  表情
                'spechars',  //  特殊字符
                '|',
                'fullscreen',  //  全屏
                'autotypeset',  //  自动排版
                'removeformat',  //  清除格式
                'insertcode',  //  代码语言
            ]]
        });
</script>

页面效果如下:
在这里插入图片描述

4. 上传图片演示

先看文档
在这里插入图片描述

4.1 后端

在上面定义的控制器中,增加 /uploadimage 请求;如下:

from flask import Blueprint, request, render_template

ueditor = Blueprint("ueditor", __name__) // 记得要注册该蓝图,在此处不再进行演示

@ueditor.route('/uedit', methods=['GET', 'POST'])  //  此处的url与待会前端初始化时的serverUrl要一致
def uedit():
    """
    根据UEditor的接口定义规则, 如果前端参数为action=config,则表示试图请求后台的config.json文件
    请求成功则说明后台接口正常工作(本人直接将config文件放在了resource目录下)
    """
    param = request.args.get('action')
    if request.method == 'GET' and param == 'config':  //  对应上面图片中的url
        return render_template('config.json')
    elif request.method == 'POST' and request.args.get('action') == 'uploadimage':
    	//  业务逻辑 ...

也就是说,只要后台提供了官方文档中规定的 url ,即能实现对应工具栏中的功能

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/144986.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软件构造与与体系结构习题

软件构造与与体系结构习题第一章第二章第三章第一章 1.下面关于类的描述正确的是&#xff1f;A A、类是一组相似事物的统称。 B、一个事物可以称为一类。 C、两个完全相同的事物可以称为一类。 D、“奥巴马”和“特朗普”可以统称为“奥巴马”。 解析&#xff1a; 类&am…

【Python笔记】课时01:Python3+Pip环境配置(python安装)

1. 不同环境下安装python windows&#xff08;不好安装相关python包&#xff0c;不推荐&#xff09;anaconda&#xff08;科学计算环境 python 相关python包&#xff09;&#xff08;推荐&#xff09;linux&#xff08;如 ubuntu&#xff09;macos 2.1. windows 安装 pytho…

前端性能优化(五):webpack构建优化

目录 一&#xff1a;webpack的优化配置 1.1.Tree-shaking 1.2.JS压缩 1.3.作用域提升 1.4.Babel 优化配置 二&#xff1a;webpack的依赖优化 2.1.noParse&#xff08;不解析&#xff09; 2.2.DllPlugin 三&#xff1a;webpack 细节优化 四&#xff1a;webpack的资源压…

Linux和windows文件互传

文章目录一、方法1&#xff1a;设置共享剪切版二、方法2&#xff1a;使用FileZilla软件1.开启 Ubuntu 下的 FTP 服务2.查看Ubuntu的ip地址2.windows安装FileZilla注意一、方法1&#xff1a;设置共享剪切版 在Ubuntu20版本中好像已经自动实现 本人使用的是旧版18.4&#xff0c…

【每日十分钟前端】基础篇21,为什么HTTPS更安全(SSL原理)、单行/多行文本溢出的省略样式、DOM常见的操作有哪些

1、[HTML]为什么HTTPS更安全(SSL原理)&#xff1a;对称加密、非对称加密、摘要、数字签名、数字证书。 2、[CSS]单行/多行文本溢出的省略样式。 3、[JS]DOM常见的操作有哪些&#xff1f; 1、[HTML]为什么HTTPS更安全(SSL原理)&#xff1a; 对称加密&#xff1a;协商密钥对数据…

异常检测实战应用案例精讲-【工具篇】时序异常检测TODS

前言 时间序列异常值检测旨在识别数据中意外或罕见的实例。作为数据分析最重要的任务之一,异常值检测在时间序列数据上有多种应用,例如欺诈检测、故障检测和网络安全攻击检测。例如,雅虎 和微软 已经建立了自己的时间序列异常值检测服务来监控他们的业务数据并触发异常值…

Hudi、Iceberg底层索引Z-Order

目录 第一部分 数据库领域的Z-Order 1.1 最左匹配原则 1.2 Z-Order动机 1.3 OLTP 1.4 OLAP 第二部分 Z-Order效率分析 2.1 按照A进行查询 2.2 按照B进行查询 2.3 总结 第三部分 Z-Order缺陷 第四部分 总结及建议 参考文章 Z-Order最早是1966提出的一项将多维数据映…

数据分析-深度学习 Day1

目录&#xff1a;第一节 机器学习&深度学习介绍第二节 机器学习攻略一、机器学习的框架二、模型训练攻略三、针对Optimization Issue的优化&#xff0c;类神经网络训练不起来怎么办(一) 局部最优点和鞍点(二) 批处理和momentum(三) 自动调节学习率Learning rate(四) 损失函…

cmake的常用语法

cmake 的注释 # 注释 #[[大段注释 第二行注释 第三行注释]]cmake的log -message cmake messagemessage(arg1 arg2 arg3 arg4) # 会自动连起message 多级别输出 message(FATAL_ERROR,"abc") # 最严重的错误&#xff0c;直接停止执行 message(SEND_ERROR,"aba…

NOP+终于来了,看看蔚来随NOP+释放的数据和思考

1. 行驶数据 ADAS功能累计用户行驶里程4.9亿公里&#xff1b;NT1的NOP功能累计行驶2.3亿公里&#xff1b;NT2的Pilot功能累计行驶了1700万公里。2. 统一辅助驾驶软件架构原来NOP将直路行驶和匝道作为两个场景开发&#xff0c;场景分割思路了城区和低速就变得无穷无尽。新NOP是以…

K_A11_001 基于STM32等单片机驱动DHT11 串口与OLED0.96双显示

K_A11_001 基于STM32等单片机驱动DHT11 串口与OLED0.96双显示一、资源说明二、基本参数1.参数2.引脚说明三、驱动说明时序对应程序:四、部分代码说明1、接线说明1.1、STC89C52RCDHT11模块1.2、STM32F103C8T6DHT11模块五、基础知识学习与相关资料下载六、视频效果展示与程序资料…

锁的分类,以及锁升级原理

1. 前言 锁在并发编程中非常重要&#xff0c;但是锁的种类有点多。这边文章的目的就是为了梳理锁的分类以及 锁升级的原理。 2. 锁的分类 种类\名称synchronizedReentrantLockReentrantReadWriteLock可重入锁√√√不可重入锁乐观锁①①①悲观锁√√√公平锁√√非公平锁√√√…

javaweb-Servlet基本使用

1&#xff0c; Servlet 1.1 简介 Servlet是JavaWeb最为核心的内容&#xff0c;它是Java提供的一门动态web资源开发技术。 使用Servlet就可以实现&#xff0c;根据不同的登录用户在页面上动态显示不同内容。 Servlet是JavaEE规范之一&#xff0c;其实就是一个接口&#xff0c…

关于分组函数(聚合函数)

分组函数&#xff1a;也叫"多行处理函数"或"聚合函数" &#xff08;特点&#xff1a;输入多行&#xff0c;最终输出一行&#xff09; 用于对表中指定字段下的内容进行统计的函数。 - count() 计数&#xff08;返回指定字段下内容不为null的数…

一文看懂Linux内存管理:虚拟内存、用户空间、内核空间、用户态、内核态、IPC通信原理

目录 一、虚拟内存地址 1.为什么要有虚拟内存地址&#xff1f; 2.虚拟地址好处 二、用户空间和内核空间 1.概念 2.用户态和内核态 3.IPC通信原理 一、虚拟内存地址 1.为什么要有虚拟内存地址&#xff1f; 因为如果CPU直接访问物理内存&#xff0c;那如果两个进程写入一…

MSF客户端渗透

利用Acrobat Reader漏洞执行payload ● 构造PDF文件 exploit/windows/fileformat/adobe_utilprintf仅支持8.1.2软件版本和XP系统&#xff1b; ● 构造恶意网站 exploit/windows/browser/adobe_utilprintf#同理&#xff0c;浏览器上运行pDF● 之后可以通过Meterpreter进行下一…

克罗格 Kroger EDI需求分析及注意事项

项目背景 Kroger&#xff08;美国克罗格公司&#xff09;是具有百年历史的名店之一。它虽然历史悠久&#xff0c;但并没有被变化的世界所淘汰&#xff0c;相反&#xff0c;它围绕着市场消费需求的变化&#xff0c;不断地进行创新&#xff0c;创造了世界零售百年史上的若干个第…

Linux物理内存管理:page、zone、node

基本概念页&#xff1a;struct page &#xff0c;如下图所示&#xff0c;x86架构下一般为4K为大小分区&#xff1a;struct zone &#xff0c;如下图所示&#xff0c;x86架构下分为三个区 ZONE_DMA,ZONE_NORMAL,ZONE_HIGHMEM内存节点&#xff1a;struct node。对于一个简单的嵌入…

杭州社保解读截止2023

杭州社保新政规定的社保内容以及缴费比例是怎样的? 1、养老保险&#xff1a;单位&#xff0c;14%;个人&#xff0c;8%。 2、医疗保险&#xff1a;单位&#xff0c;9.9%;个人&#xff0c;2% 。 3、失业保险&#xff1a;单位&#xff0c;0.5%;个人&#xff0c;0.5%。 4、工伤…

PC浏览器无法浏览网页的解决教程

前言 在浏览Potplayer官网和Github官网时&#xff0c;无论是火狐浏览器还是Edge浏览器&#xff0c;都无法正常链接到网站。以下教程不纠结具体原理&#xff0c;只介绍具体步骤&#xff0c;以便以后自查。而且以下教程以Github官网为例。 具体步骤 打开Chinese Firewall Test…