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登录Gmail并发送Gmail邮件的教程
Apr 17 Python
简单讲解Python中的字符串与字符串的输入输出
Mar 13 Python
Python用sndhdr模块识别音频格式详解
Jan 11 Python
使用python实现BLAST
Feb 12 Python
python生成lmdb格式的文件实例
Nov 08 Python
python爬取微信公众号文章的方法
Feb 26 Python
Python实现报警信息实时发送至邮箱功能(实例代码)
Nov 11 Python
Python for循环与getitem的关系详解
Jan 02 Python
详解pycharm连接不上mysql数据库的解决办法
Jan 10 Python
Python 实现黑客帝国中的字符雨的示例代码
Feb 20 Python
PyCharm 2020.2.2 x64 下载并安装的详细教程
Oct 15 Python
python基于opencv 实现图像时钟
Jan 04 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多线程抓取网页实现代码
2010/07/22 PHP
php/js获取客户端mac地址的实现代码
2013/07/08 PHP
php实现高效获取图片尺寸的方法
2014/12/12 PHP
Yii2实现同时搜索多个字段的方法
2016/08/10 PHP
快速保存网页中所有图片的方法
2006/06/23 Javascript
地址栏上的一段语句,改变页面的风格。(教程)
2008/04/02 Javascript
通过判断JavaScript的版本实现执行不同的代码
2010/05/11 Javascript
jQuery代码优化 遍历篇
2011/11/01 Javascript
JS实现模拟风力的雪花飘落效果
2015/05/13 Javascript
基于jQuery实现美观且实用的倒计时实例代码
2015/12/30 Javascript
iOS和Android用同一个二维码实现跳转下载链接的方法
2016/09/28 Javascript
Vue.js实现一个漂亮、灵活、可复用的提示组件示例
2017/03/17 Javascript
基于express中路由规则及获取请求参数的方法
2018/03/12 Javascript
Angularjs中date过滤器失效的问题及解决方法
2018/07/06 Javascript
bootstrap 弹出框modal添加垂直方向滚轴效果
2018/07/09 Javascript
微信小程序异步API为Promise简化异步编程的操作方法
2018/08/14 Javascript
python encode和decode的妙用
2009/09/02 Python
Python中遍历字典过程中更改元素导致异常的解决方法
2016/05/12 Python
解决Python requests 报错方法集锦
2017/03/19 Python
Python实现获取前100组勾股数的方法示例
2018/05/04 Python
Dlib+OpenCV深度学习人脸识别的方法示例
2019/05/14 Python
pybind11在Windows下的使用教程
2019/07/04 Python
Python 实现毫秒级淘宝抢购脚本的示例代码
2019/09/16 Python
使用python实现画AR模型时序图
2019/11/20 Python
Python切割图片成九宫格的示例代码
2020/03/10 Python
.NET remoting中对象激活的两种方式
2015/06/08 面试题
党校自我鉴定范文
2013/10/02 职场文书
物业管理个人自我评价
2013/11/08 职场文书
会计专业个人求职信范文
2014/01/08 职场文书
团日活动总结模板
2014/06/25 职场文书
学习型党组织心得体会
2014/09/12 职场文书
民主生活会整改措施(党员)
2014/09/18 职场文书
北京离婚协议书范文2014
2014/09/29 职场文书
2014年为民办实事工作总结
2014/12/20 职场文书
党建工作汇报材料
2014/12/24 职场文书
行政主管岗位职责
2015/02/03 职场文书