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文件去除注释的方法
May 25 Python
玩转python爬虫之cookie使用方法
Feb 17 Python
python模块之re正则表达式详解
Feb 03 Python
Python中模块pymysql查询结果后如何获取字段列表
Jun 05 Python
python安装twisted的问题解析
Aug 21 Python
python开发之anaconda以及win7下安装gensim的方法
Jul 05 Python
python实现函数极小值
Jul 10 Python
python读取.mat文件的数据及实例代码
Jul 12 Python
详细分析Python collections工具库
Jul 16 Python
python语言实现贪吃蛇游戏
Nov 13 Python
关于pycharm 切换 python3.9 报错 ‘HTMLParser‘ object has no attribute ‘unescape‘ 的问题
Nov 24 Python
教你用Python写一个植物大战僵尸小游戏
Apr 25 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
无线电波是什么?它是怎样传输的?
2021/03/01 无线电
smarty内置函数{loteral}、{ldelim}和{rdelim}用法实例
2015/01/22 PHP
CI操作cookie的方法分析(基于helper类库)
2016/03/28 PHP
PHP中strpos、strstr和stripos、stristr函数分析
2016/06/11 PHP
PHP实现上一篇下一篇的方法实例总结
2016/09/22 PHP
Javascript valueOf 使用方法
2008/12/28 Javascript
Google排名中的10个最著名的 JavaScript库
2010/04/27 Javascript
Jquery 最近浏览过的商品的功能实现代码
2010/05/14 Javascript
如何让div span等元素能响应键盘事件操作指南
2012/11/13 Javascript
基于JavaScript实现继承机制之调用call()与apply()的方法详解
2013/05/07 Javascript
验证控件与Button的OnClientClick事件详细解析
2013/12/04 Javascript
jquery.hotkeys监听键盘按下事件keydown插件
2014/05/11 Javascript
JavaScript实现向OL列表内动态添加LI元素的方法
2015/03/21 Javascript
JS实现数字格式千分位相互转换方法
2016/08/01 Javascript
Vuejs第十二篇之动态组件全面解析
2016/09/09 Javascript
js实现淡入淡出轮播切换功能
2017/01/13 Javascript
jQuery插件HighCharts实现气泡图效果示例【附demo源码】
2017/03/13 Javascript
详解Vue中添加过渡效果
2017/03/20 Javascript
JS实现简单的星期格式转换功能示例
2018/07/23 Javascript
利用hasOwnProperty给数组去重的面试题分享
2018/11/05 Javascript
vue中获取滚动table的可视页面宽度调整表头与列对齐(每列宽度不都相同)
2019/08/17 Javascript
jquery+css3实现的经典弹出层效果示例
2020/05/16 jQuery
python实现将pvr格式转换成pvr.ccz的方法
2015/04/28 Python
Python 3.x 新特性及10大变化
2015/06/12 Python
python实现线程池的方法
2015/06/30 Python
Python合并字典键值并去除重复元素的实例
2016/12/18 Python
解决使用pycharm提交代码时冲突之后文件丢失找回的方法
2018/08/05 Python
Keras自定义实现带masking的meanpooling层方式
2020/06/16 Python
CPB肌肤之钥美国官网:Clé de Peau Beauté
2017/09/05 全球购物
学生党支部先进事迹
2014/02/04 职场文书
应届毕业生通用的自荐书范文
2014/02/07 职场文书
应届大专生自荐书
2014/06/16 职场文书
解除同居协议书
2015/01/29 职场文书
九年级英语教学反思
2016/02/15 职场文书
在Spring-Boot中如何使用@Value注解注入集合类
2021/08/02 Java/Android
python程序的组织结构详解
2021/12/06 Python