Django高级扩展之tinymce富文本实现

news2024/12/26 0:23:17

 

目录

安装

在站点中使用

注册富文本应用

添加配置文件

创建模型类

生成迁移文件

执行表迁移

配置站点

富文本不显示解决

修改主题

修改语言设置

自定义视图使用

设置路由

视图

创建模板

总结


安装

pip install django-tinymce

 

安装过程如下:

 

在站点中使用

注册富文本应用

配置settings.py文件

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'myapp',
    'tinymce'
]

添加配置文件

在settings.py底部添加,配置模式和宽高。

# 富文本配置
TINYMCE_DEFAULT_CONFIG = {
    'theme': 'advanced',
    'width': 600,
    'height': 400
}

创建模型类

项目models.py中增加方法

from tinymce.models import HTMLField

class Text(models.Model):

    
    str = HTMLField()

生成迁移文件

命令如下:

python manage.py makemigrations myapp

执行结果如下:

D:\lianxi_py\project>python manage.py makemigrations myapp
Migrations for 'myapp':
  myapp\migrations\0006_auto_20230616_1131.py
    - Create model Text
    - Change Meta options on students
    - Change managers on students
    - Alter field desc on students

执行表迁移

将模型的最新状态部署到数据库。

命令如下:

python manage.py migrate myapp

执行结果如下:

D:\lianxi_py\project>python manage.py migrate myapp
Operations to perform:
  Apply all migrations: myapp
Running migrations:
  Applying myapp.0006_auto_20230616_1131... OK

配置站点

Admin.py 模型类站点注册

from django.contrib import admin
from .models import Text


admin.site.register(Text)

然后站点登录,站点管理增加Texts。

 

点击详情,增加text

 

 

富文本不显示解决

这时候,没出现富文本

 

查看控制台提示js 404

 

 看网上几个解决方法一一尝试,发现注释设置的主题后,能加载出来。

看到网友说django-tinymce-2.8.0这个版本才有advanced主题。

我的Django版本是3.0 只能改主题了。

修改主题

找到django-tinymce库(一般在python3.7\Lib\site-packages中)

打开tinymce查看主题

就剩下moblie和silver两种。所以之前设置的模板无法找到。

模板改为silver

'theme': 'silver',

 

修改语言设置

默认显示为繁体字,改为简体中文。

'language': 'zh_CN'

效果

 

 

自定义视图使用

设置路由

urlpatterns = [
    # 自定义富文本实现
    path(r'custom_edit', views.custom_edit, name='custom_edit')
]

视图

def custom_edit(request):
    """ 自定义页面使用富文本 """

    return render(request, 'myapp/custom_edit.html')

创建模板

加载tinymce.min.js脚本,设置配置后,再加载相应语言脚本。

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>自定义页面使用富文本</title>
    <script src="{% static 'tinymce/tinymce.min.js' %}"></script>
    <script>
        tinyMCE.init({
            'mode':'textareas',
            'theme': 'silver',
            'width': 600,
            'height': 400,
            'language': 'zh_CN'

        })
    </script>
</head>
<body>
    <textarea name="str" id="str" cols="30" rows="10">这是默认内容</textarea>
</body>
</html>

访问

 

总结

富文本主要用于在项目中实现图文混合编辑,但又想实现非固定模板时,使用,后台编辑发布,利用的就是富文本的所见即所得效果!

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

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

相关文章

宾军志:数据管理能力成熟度模型建设历程

4月27日在2023数据治理新实践峰会上&#xff0c;中国电子信息行业联合会数据资产管理专委会秘书长宾军志先生为大家分享了《数据管理能力成熟度模型建设历程》主题演讲。 以下为宾军志先生的演讲实录&#xff0c;为了方便阅读&#xff0c;小编做了一些字句修改和文本优化。大家…

JDK安装2023最完整教程与配置(零基础)

一、JDK简介 学习Java&#xff0c;需要下载并安装JDK&#xff0c;即Java Development Kit、Java开发工具包&#xff0c;为了能够打开java程序&#xff0c;就需要按照操作系统的要求进行环境变量的配置。 二、JDK下载 要想运行java开发的程序&#xff0c;必须先下载jdk&#…

io.netty学习 (一)Netty入门

目录 前言 Java原生API之痛 Netty的优势 非阻塞 I/O 丰富的协议 异步和事件驱动 精心设计的API 丰富的缓冲实现 高效的网络传输 Netty 核心概念 核心组件 传输服务 协议支持 Netty简单应用 总结 前言 关于Netty的学习&#xff0c;最近看了不少有关视频和书籍&am…

【git】VSCode 上的文件夹如何上传到 github 上?

一、重要意义 VSCode 上的文件夹上传到github有什么意义&#xff1f; 版本控制&#xff1a;通过将文件夹上传到GitHub&#xff0c;您可以使用Git进行版本控制。这意味着您可以记录每个文件的修改历史&#xff0c;并轻松地切换到以前的版本。如果您犯了错误或需要回滚更改&…

数据结构与算法·第10章【内部排序】

概念 排序问题可以分为内部排序和外部排序。若整个排序过程不需要访问外存便能完成&#xff0c;则称此类排序问题为内部排序&#xff1b;反之&#xff0c;若参加排序的记录数量很大&#xff0c;整个序列的排序过程不可能在内存中完成&#xff0c;则称此类排序问题为外部排序。…

成为一名成功的项目经理,你需要了解这些

作为一名有抱负的项目经理&#xff0c;你需要了解自己的职责和任务。你的职责不仅仅是确保项目的成功&#xff0c;更要负责带领团队制定可靠的执行计划&#xff0c;并确保所有工作按计划有序进行。因此&#xff0c;你必须具备身兼多职的能力&#xff0c;以确保项目能够顺利完成…

机器视觉初步5-2:图像增强专题

图像增强是一种提高图像质量和信息量的技术&#xff0c;常用于图像处理、计算机视觉和机器学习中。常见的图像增强方法包括直方图均衡化、高斯滤波、锐化、对比度拉伸、图像平滑、图像锐化、图像滤波、图像金字塔等。 以下是一些常见的图像增强方法的示例代码&#xff0c;使用H…

数据结构——顺序表(文字+代码+带图详细讲解)

在 C 语言中&#xff0c;顺序表可以使用数组来实现。顺序表是一种线性表&#xff0c;其中的元素在物理上连续存储&#xff0c;可以通过下标访问任意元素。 顺序表的基本操作包括插入、删除、查找、遍历和初始化等。 这段代码定义了一个顺序表的结构体&#xff0c;其中包括三个…

《C++多态》

文章目录 思维导图一、多态的概念二、多态的定义及其实现1.多态的构成条件2.虚函数3.虚函数的重写不构成多态的情况展示4.虚函数重写的两个例外4.1 协变4.2析构函数的重写 5.C11 override和final5.1. final5.2.override 三、抽象类1.概念2、对比纯虚函数与override3.接口继承和…

suse linux安装介质下载

在suse官网注册一个账号&#xff0c;就可以免费在上面下载软件的安装介质。 SUSE HAE介质下载和安装说明&#xff1a;

工作十年还不知道数字化转型工具?别等老板问你时才去查资料!

在职场中&#xff0c;到底有什么比较好上手又能轻易提升数字化的工具&#xff1f; 应粉丝邀请&#xff0c;我来给出一个回答。 对于企业来说&#xff0c;你可以选择大屏。对于个人来说&#xff0c;你可以选择仪表板。 工作汇报已经越来越卷&#xff0c;对于个人来说&#xff0c…

Windows远程桌面(mstsc)不能复制粘贴的解决办法

最近突然发现Windows远程桌面(mstsc)不能在远程端和本地端之间自由的复制和粘贴了&#xff0c;这还是非常影响使用体验的&#xff1b;因此记录一下解决方法&#xff0c;以便后续再遇到此类问题时查看如何解决&#xff1b; 文章目录 一、背景二、解决办法2.1 方法1 重启rdpclip.…

ChatGPT或致全球3亿人失业,人工智能时代下教育会发生什么样的变革?

不久前&#xff0c;谷歌教育发布了一份关于未来教育的研究报告。该报告由谷歌公司和 Canvas8合作&#xff0c;对来自世界24个国家的94位教育专家进行了历时长达2年的调研&#xff0c;探讨了未来教育形态、教育在未来的作用、教育公平、全球人才需求、教学方式、学习生态、工作技…

Attentive Moment Retrieval in Videos论文笔记

Attentive Moment Retrieval in Videos论文笔记 0.论文地址1.摘要2.引言3.模型结构3.1Memory Attention Network3.2Cross-Modal Fusion Network 4.训练4.1对齐损失4.2定位回归损失4.3合并 5.实验5.1数据集5.2效果5.3ACRN的研究 6未来工作 0.论文地址 2018 Attentive Moment Re…

验证码客户端回显测试-业务安全测试实操(15)

验证码客户端回显测试,验证码绕过测试,验证码自动识别测试 往期文章: 验证码暴力破解测试-业务安全测试实操(13)_luozhonghua2000的博客-CSDN博客 验证码客户端回显测试 测试原理和方法 当验证码在客户端生成而非服务器端生成时,就会造成此类问题。当客户端需要和服务器进行…

【正点原子STM32连载】第三十五章 IIC实验 摘自【正点原子】STM32F103 战舰开发指南V1.2

1&#xff09;实验平台&#xff1a;正点原子stm32f103战舰开发板V4 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id609294757420 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html# 第三…

2023年NPDP产品经理认证线上班,到这里

产品经理国际资格认证NPDP是新产品开发方面的认证&#xff0c;集理论、方法与实践为一体的全方位的知识体系&#xff0c;为公司组织层级进行规划、决策、执行提供良好的方法体系支撑。 【认证机构】 产品开发与管理协会&#xff08;PDMA&#xff09;成立于1979年&#xff0c;是…

docker 镜像制作 与 CI/CD

目录 镜像到底是什么&#xff1f; 使用docker创建镜像 步骤&#xff1a; 1、编辑Dockerfile&#xff08;Dockerfile是docker制作镜像的配方文件&#xff09; 2、编辑requirements.txt文件 3、编辑app.py文件&#xff0c;我们的程序文件 4、生成镜像文件 5、查看生成的镜…

这些软件,你知道几个呢?

软件分享一&#xff1a;情绪指压 情绪指压(MoodPress)是一款记录心情的应用&#xff0c;也是一款非常简单的减压游戏。可以根据自己现在的心情来决定指压的力度和时间&#xff08;压力越大或者时间越长越生气&#xff09;&#xff0c;适时释放&#xff0c;来判断和记录自己的心…

Oracle19c安装和远程访问设置

Oracle Database&#xff0c;又名Oracle RDBMS&#xff0c;或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是世界上流行的关系数据库管理系统&#xff0c;系统可移植性好、使用方便、功能强&#xff0c…