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结合selenium获取XX省交通违章数据的实现思路及代码
Jun 26 Python
插入排序_Python与PHP的实现版(推荐)
May 11 Python
Python入门之后再看点什么好?
Mar 05 Python
Python利用openpyxl库遍历Sheet的实例
May 03 Python
Django读取Mysql数据并显示在前端的实例
May 27 Python
浅谈python中get pass用法
Mar 19 Python
Python pandas DataFrame操作的实现代码
Jun 21 Python
python模块hashlib(加密服务)知识点讲解
Nov 25 Python
pip install 使用国内镜像的方法示例
Apr 03 Python
python中tkinter窗口位置\坐标\大小等实现示例
Jul 09 Python
python利用os模块编写文件复制功能——copy()函数用法
Jul 13 Python
Restful_framework视图组件代码实例解析
Nov 17 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
phpmyadmin配置文件现在需要绝密的短密码(blowfish_secret)的2种解决方法
2014/05/07 PHP
php实现批量压缩图片文件大小的脚本
2014/07/04 PHP
PHP getName()函数讲解
2019/02/03 PHP
JavaScript计算某一天是星期几的方法
2015/08/05 Javascript
jQuery实现高亮显示网页关键词的方法
2015/08/07 Javascript
Bootstrap进度条学习使用
2017/02/09 Javascript
移动端手指放大缩小插件与js源码
2017/05/22 Javascript
Node.js笔记之process模块解读
2018/05/31 Javascript
微信小程序从注册账号到上架(图文详解)
2019/07/17 Javascript
JS常见面试试题总结【去重、遍历、闭包、继承等】
2019/08/27 Javascript
vue项目中使用eslint+prettier规范与检查代码的方法
2020/01/16 Javascript
JavaScrip如果基于url实现图片下载
2020/07/03 Javascript
JS事件循环机制event loop宏任务微任务原理解析
2020/08/04 Javascript
Python 解析XML文件
2009/04/15 Python
python对DICOM图像的读取方法详解
2017/07/17 Python
Python工程师面试必备25条知识点
2018/01/17 Python
Python的高阶函数用法实例分析
2019/04/11 Python
python实现微信每日一句自动发送给喜欢的人
2019/04/29 Python
python opencv对图像进行旋转且不裁剪图片的实现方法
2019/07/09 Python
python matplotlib饼状图参数及用法解析
2019/11/04 Python
python opencv 检测移动物体并截图保存实例
2020/03/10 Python
基于opencv的selenium滑动验证码的实现
2020/07/24 Python
python设置中文界面实例方法
2020/10/27 Python
五分钟学会怎么用python做一个简单的贪吃蛇
2021/01/12 Python
详解CSS3中nth-child与nth-of-type的区别
2017/01/05 HTML / CSS
HTML5 video循环播放多个视频的方法步骤
2020/08/06 HTML / CSS
使用HTML5做的导航条详细步骤
2020/10/19 HTML / CSS
阿迪达斯希腊官方网上商店:adidas希腊
2019/04/06 全球购物
施华洛世奇波兰官网:SWAROVSKI波兰
2019/06/18 全球购物
趣味比赛活动方案
2014/02/15 职场文书
农村婚礼主持词
2014/03/13 职场文书
搞笑结婚保证书
2015/05/08 职场文书
2015年会计工作总结范文
2015/05/26 职场文书
小学安全教育主题班会
2015/08/12 职场文书
2016国庆节67周年红领巾广播稿
2015/12/18 职场文书
Python爬虫基础初探selenium
2021/05/31 Python