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

 更新时间:2020年05月21日 09:25:43   作者:lm_is_dc  
这篇文章主要介绍了Django之富文本(获取内容,设置内容方式),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

富文本

1、Rich Text Format(RTF)

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

图示

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爬虫爬取图片的简单代码

    在本篇文章里小编给大家整理的是一篇关于python爬虫爬取图片的简单代码内容,有兴趣的朋友们可以测试下。
    2021-01-01
  • Python实现RabbitMQ6种消息模型的示例代码

    Python实现RabbitMQ6种消息模型的示例代码

    这篇文章主要介绍了Python实现RabbitMQ6种消息模型的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • 如何基于Python深度图生成3D点云详解

    如何基于Python深度图生成3D点云详解

    通常使用TOF等3d摄像头采集的格式一般只是深度图,下面这篇文章主要给大家介绍了关于如何基于Python深度图生成3D点云的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • python 中关于pycharm选择运行环境的问题

    python 中关于pycharm选择运行环境的问题

    这篇文章主要介绍了python 中关于pycharm选择运行环境的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • 使用Python自建轻量级的HTTP调试工具

    使用Python自建轻量级的HTTP调试工具

    这篇文章主要为大家详细介绍了如何使用Python自建一个轻量级的HTTP调试工具,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下
    2025-04-04
  • Python lambda表达式用法实例分析

    Python lambda表达式用法实例分析

    这篇文章主要介绍了Python lambda表达式用法,结合实例形式分析了lambda表达式的具体功能、应用场景及相关使用技巧,需要的朋友可以参考下
    2018-12-12
  • Python Django基础二之URL路由系统

    Python Django基础二之URL路由系统

    这篇文章主要介绍了Python Django基础二之URL路由系统 的相关资料,需要的朋友可以参考下
    2019-07-07
  • python中import与from方法总结(推荐)

    python中import与from方法总结(推荐)

    这篇文章主要介绍了python中import与from方法总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • 关于Pandas count()与values_count()的用法及区别

    关于Pandas count()与values_count()的用法及区别

    这篇文章主要介绍了关于Pandas count()与values_count()的用法及区别,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • Python 添加命令行参数步骤

    Python 添加命令行参数步骤

    这篇文章主要介绍了Python 添加命令行参数步骤,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08

最新评论