Django之富文本(获取内容,设置内容方式)


Posted in Python onMay 21, 2020

富文本

1、Rich Text Format(RTF)

微软开发的跨平台文档格式,大多数的文字处理软件都能读取和保存RTF文档,其实就是可以添加样式的文档,和HTML有很多相似的地方

图示

Django之富文本(获取内容,设置内容方式)

2、tinymce插件

安装插件

pip install django-tinymce

配置插件

使用

后台管理中

HTMLField

页面中使用

textarea

3、在后台管理中使用

配置settings.py文件

INSTALLED_APPS 添加 tinymce 应用
INSTALLED_APPS = [
  ...
  # 注册富文本应用
  'tinymce',
]

添加默认配置

# 以字典形式配置富文本框架tinymce

# 作用于管理后台中的富文本编辑器

TINYMCE_DEFAULT_CONFIG = {

  # 使用高级主题,备选项还有简单主题
  'theme': 'advanced',
  # 'theme': 'simple',

  # 必须指定富文本编辑器(RTF=rich text format)的宽高
  'width': 800,
  'height': 600,

  # 汉化
  'language': 'zh',

  # 自定义常用的固定样式
  'style_formats': [
    # title=样式名称
    # styles=自定义css样式
    # inline:xxx = 将加样式后的文本放在行内元素中显示
    # block:xxx = 将加样式后的文本放在块级元素中显示
    {'title': 'Bold text', 'inline': 'b'},
    {'title': 'Red text', 'inline': 'span', 'styles': {'color': '#ff0000'}},
    {'title': 'Red header', 'block': 'h1', 'styles': {'color': '#ff0000'}},
    {'title': 'Example 1', 'inline': 'span', 'classes': 'example1'},
    {'title': 'Example 2', 'inline': 'span', 'classes': 'example2'},
    {'title': 'Table styles'},
    {'title': 'Table row 1', 'selector': 'tr', 'classes': 'tablerow1'}
  ],
}

创建模型类

from tinymce.models import HTMLField
class Blog(models.Model):
 sBlog = HTMLField()

注册模型

admin.site.register

4、在普通页面使用

使用文本域盛放内容

<form method='post' action='url'>
<textarea></textarea>
</form>

添加脚本

<script src='/static/tiny_mce/tiny_mce.js'></script>
 <script>
   tinyMCE.init({
     'mode': 'textareas',
     'theme': 'simple',
     'theme': 'advanced',
     'width': 800,
     'height': 600,
     'language': 'zh',
     'style_formats': [
       {'title': 'Bold text', 'inline': 'b'},
       {'title': 'Red text', 'inline': 'span', 'styles': {'color': '#ff0000'}},
       {'title': 'Red header', 'block': 'h1', 'styles': {'color': '#ff0000'}},
       {'title': 'Example 1', 'inline': 'span', 'classes': 'example1'},
       {'title': 'Example 2', 'inline': 'span', 'classes': 'example2'},
       {'title': 'Table styles'},
       {'title': 'Table row 1', 'selector': 'tr', 'classes': 'tablerow1'}
     ],
   })
 </script>

本质上还是使用html的样式。

5、利用js获取富文本内容和设置内容给富文本

//editorId是富文本的id
function SetTinyMceContent(editorId, content) {
  //给富文本编辑器设置内容
  tinyMCE.getInstanceById(editorId).getBody().innerHTML = content;
  //获取富文本编辑器的内容
  var con = tinyMCE.getInstanceById(editorId).getBody().innerHTML;
}

补充知识:Django中Form的Textarea字段

开始以为是这个样子:

class BlogForm(forms.Form): 
  title  = forms.CharField(required = True) 
  content = forms.Textarea()

查看文档发现是:

from django import forms 
class BlogForm(forms.Form): 
  title  = forms.CharField(required = True) 
  content = forms.CharField(widget=forms.Textarea)

以上这篇Django之富文本(获取内容,设置内容方式)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python进阶教程之文本文件的读取和写入
Aug 29 Python
python的tkinter布局之简单的聊天窗口实现方法
Sep 03 Python
Python装饰器使用实例:验证参数合法性
Jun 24 Python
python简单文本处理的方法
Jul 10 Python
Python实现发送QQ邮件的封装
Jul 14 Python
python障碍式期权定价公式
Jul 19 Python
使用BeautifulSoup4解析XML的方法小结
Dec 07 Python
python3.9.1环境安装的方法(图文)
Feb 02 Python
Python 多线程之threading 模块的使用
Apr 14 Python
浅谈pytorch中的dropout的概率p
May 27 Python
Python用tkinter实现自定义记事本的方法详解
Mar 31 Python
python开发制作好看的时钟效果
May 02 Python
使用Python防止SQL注入攻击的实现示例
May 21 #Python
Django的ListView超详细用法(含分页paginate)
May 21 #Python
Django中FilePathField字段的用法
May 21 #Python
Django 解决上传文件时,request.FILES为空的问题
May 20 #Python
使用 django orm 写 exists 条件过滤实例
May 20 #Python
django 解决自定义序列化返回处理数据为null的问题
May 20 #Python
python实现126邮箱发送邮件
May 20 #Python
You might like
php定时计划任务的实现方法详解
2013/06/06 PHP
PHP实现把文本中的URL转换为链接的auolink()函数分享
2014/07/29 PHP
PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能
2019/09/23 PHP
通过JAVASCRIPT读取ASP设定的COOKIE
2006/11/24 Javascript
js DOM模型操作
2009/12/28 Javascript
新手常遇到的一些jquery问题整理
2010/08/16 Javascript
javascript验证身份证完全方法具体实现
2013/11/18 Javascript
使用angular写一个hello world
2015/01/23 Javascript
javaScript中with函数用法实例分析
2015/06/08 Javascript
Javascript设计模式理论与编程实战之简单工厂模式
2015/11/03 Javascript
基于JavaScript短信验证码如何实现
2016/01/24 Javascript
js判断鼠标位置是否在某个div中的方法
2016/02/26 Javascript
jquery判断对象是否为空并遍历对象的简单实例
2016/07/26 Javascript
javascript 产生随机数的几种方法总结
2017/09/26 Javascript
浅谈JS函数节流防抖
2017/10/18 Javascript
Vue插件打包与发布的方法示例
2018/08/20 Javascript
vue.js项目 el-input 组件 监听回车键实现搜索功能示例
2018/08/25 Javascript
深入理解Puppeteer的入门教程和实践
2019/03/05 Javascript
JavaScript实现预览本地上传图片功能完整示例
2019/03/08 Javascript
微信小程序学习总结(二)样式、属性、模板操作分析
2020/06/04 Javascript
js实现全选和全不选
2020/07/28 Javascript
React中使用Vditor自定义图片详解
2020/12/25 Javascript
[49:29]LGD vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python实现类继承实例
2014/07/04 Python
点球小游戏python脚本
2018/05/22 Python
解决Python计算矩阵乘向量,矩阵乘实数的一些小错误
2019/08/26 Python
基于HTML5 Canvas 实现商场监控实例详解
2017/11/20 HTML / CSS
关于HTML5 Placeholder新标签低版本浏览器下不兼容的问题分析及解决办法
2016/01/27 HTML / CSS
结构和类有什么异同
2012/07/16 面试题
活动宣传策划方案
2014/05/23 职场文书
广告策划的实习心得体会总结!
2019/07/22 职场文书
《烈火英雄》观后感:致敬和平时代的英雄
2019/11/11 职场文书
二年级作文之动物作文
2019/11/13 职场文书
php中pcntl_fork详解
2021/04/01 PHP
TypeScript中条件类型精读与实践记录
2021/10/05 Javascript
CentOS7安装GlusterFS集群以及相关配置
2022/04/12 Servers