Django中添加富文本编辑器
使用的是CKeditor这个模块
1.安装:
pip install django-ckeditor
2.将ckeditor注册到settings.py文件中, 并添加ckeditor的url到你项目的urls.py文件中
INSTALLED_APPS = [
...
'ckeditor'
] urlpatterns = [
...
url(r'^ckeditor/', include('ckeditor_uploader.urls')),
]
3.在models.py文件中使用ckeditor的富文本字段RichTextField替换TextField就行,用法不变。
from ckeditor.fields import RichTextField
...
content = RichTextField(verbose_name=u'内容')
4.在settings.py文件中写入cdeditor的配置
# ckeditor config
CKEDITOR_UPLOAD_PATH = 'article_files/'
CKEDITOR_JQUERY_URL ='js/jquery-3.2.1.min.js'
CKEDITOR_IMAGE_BACKEND = 'pillow'
CKEDITOR_CONFIGS = {
'default': {
'language': 'zh-cn',
'toolbar_YourCustomToolbarConfig': [ {'name': 'clipboard', 'items': ['Undo', 'Redo', '-', 'Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord']},
{'name': 'paragraph', 'items': ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'Blockquote']},
{'name': 'insert', 'items': ['Image', 'Table', 'HorizontalRule', 'Smiley']},
{'name': 'links', 'items': ['Link', 'Unlink', 'Anchor']},
{'name': 'editing', 'items': ['Find', 'Replace', '-']},
{'name': 'tools', 'items': ['Maximize']},
'/',
{'name': 'styles', 'items': ['Format', 'Font', 'FontSize']},
{'name': 'basicstyles',
'items': ['Bold', 'Italic', 'Underline', 'Strike', '-', 'RemoveFormat']},
{'name': 'colors', 'items': ['TextColor', 'BGColor']},
{'name': 'paragraph',
'items': ['JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock']},
{'name': 'document', 'items': ['Source']},
],
'toolbar': 'YourCustomToolbarConfig', # put selected toolbar config here
'width': '100%',
'tabSpaces': 4,
'extraPlugins': ','.join([
'uploadimage', # the upload image feature
# your extra plugins here
'div',
'autolink',
'autoembed',
'embedsemantic',
'autogrow',
'widget',
'lineutils',
'clipboard',
'dialog',
'dialogui',
'elementspath'
]),
}
}
CKEDITOR_ALLOW_NONIMAGE_FILES = False
CKEDITOR_BROWSE_SHOW_DIRS = True
5.如果要实现编辑器中图片上传的功能,还需要一些配置:
在settings.py文件中注册'ckeditor_uploader'
INSTALLED_APPS = [
'ckeditor',
'ckeditor_uploader'
]
我在上面的配置中写一个路径:CKEDITOR_UPLOAD_PATH = 'article_files/'
这是一个相对路径,你需要配置好media:
# media_confige
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
之后上传图片的保存路径就是'/media/article_files/...'
在models.py中就需要使用RichTextUploadingField字段
from ckeditor_uploader.fields import RichTextUploadingField
。。。
class MyModel(models.Model):
content = RichTextUploadingField(verbose_name=u'内容')
文档:https://github.com/django-ckeditor/django-ckeditor
Django中添加富文本编辑器的更多相关文章
- Django项目中添加富文本编辑器django-ckeditor
django-ckeditor库的使用步骤: 1.在命令行下安装django-ckeditor这个库: 命令:pip install django-ckeditor 2.安装成功后,配置Django项 ...
- django中ckeditor富文本编辑器使用
1.安装模块 (pillow是python的一个图像处理库) pip install django-ckeditor pip install pillow 2.编辑seetings.py配置文件 IN ...
- Django中CKEditor富文本编译器的使用
CKEditor富文本编辑器 1. 安装 pip install django-ckeditor 2. 添加应用 在INSTALLED_APPS中添加 INSTALLED_APPS = [ ... ' ...
- Django中使用富文本编辑器Uedit
Uedit是百度一款非常好用的富文本编辑器 一.安装及基本配置 官方GitHub(有详细的安装使用教程):https://github.com/zhangfisher/DjangoUeditor 1. ...
- web项目中nicedit富文本编辑器的使用
web项目中nicedit富文本编辑器的使用 一.为什么要用富文本编辑器? 先说什么是富文本编辑器吧,普通的html中input或textarea标签只能进行简单的输入,而做不到其他的文本调整功能,甚 ...
- 在后台管理系统中引入富文本编辑器 (vue-quill-editor)
在admin系统中引入富文本编辑器 (vue-quill-editor) 由于公司项目的需求,内容需要更新,那么自然需要admin后台来上传内容,在苦苦寻觅了N个编辑器之后,终于找到了一个比较容易使用 ...
- Django xadmin后台添加富文本编辑器UEditor的用法
效果图: 步骤: 1.利用命令:pip install DjangoUeditor,安装DjangoUeditor,但由于DjangoUeditor没有python3版本的,从的Github上把修改好 ...
- django—xadmin中集成富文本编辑器ueditor
一.安装 pip命令安装,由于ueditor为百度开发的一款富文本编辑框,现已停止维护,如果解释器为python2,则直接pip install djangoueditor 解压包安装,python3 ...
- 万里长征第二步——django个人博客(第六步 ——添加富文本编辑器)
下载kindeditor 在admin.py文件中配置链接 class Media: js = ( '/static/js/kindeditor-4.1.10/kindeditor-min.js', ...
随机推荐
- 201521123012 《Java程序设计》第六周学习总结
##1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. -注1:关键词与内容不求多,但概念之间的联系要清晰,内 ...
- 201521123061 《Java程序设计》第五周学习总结
201521123061 <Java程序设计>第五周学习总结 1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 1.2 可选:使用常规方法总结其他上课内容. 1.代 ...
- 201521123029《Java程序设计》第五周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 1.2 可选:使用常规方法总结其他上课内容. 答:1. 课上讲了匿名内部类的使用,其中内部类就是定义在另一个类里面的类,与之相 ...
- 201521123069 《Java程序设计》第1周学习总结
1. 本章学习总结 Java语言的发展.特点(面向对象.简单性.平台无关性) 认识并区分JVM(Java虚拟机),JRE(Java执行环境),JDK(Java开发工具包) 安装好JDK,设置Path变 ...
- 【干货】教你如何利用fullPage.js以及move.js插件打造高端大气的网站效果!
前言: 如今我们经常能见到全屏网站,尤其是国外网站.这些网站用几幅很大的图片或色块做背景,再添加一些简单的内容,显得格外的高端大气上档次. 在学习过jQuery插件之后,才发现之前的很多网站特效完全可 ...
- jpa 多对多关系的实现注解形式
1, 表结构 1)设备表 VTM_DEVICE_INFO create table VTM_DEVICE_INFO ( ID INTEGER not null, SN ) not null, STAT ...
- 常见注入手法第二讲,APC注入
常见注入手法第二讲,APC注入 转载注明出处 首先,我们要了解下什么是APC APC 是一个简称,具体名字叫做异步过程调用,我们看下MSDN中的解释,异步过程调用,属于是同步对象中的函数,所以去同步对 ...
- 验证整数 Double 转 int 两种写法
Double 转int 1)之前一直是使用强转 Double num = Double.parseDouble(object.toString()); int n = (int)num; i ...
- 用sqlserver的自定义函数直接获取多级部门全名
好久没写存储过程了,今日正好同事的开发需要,实现显示多级部门的部门全名称. 如 财务部/会计部/会计一部 部门表 人员表 函数 getOrgAllName --OrgID 72 当前的部门ID A ...
- [C#]关于DBNULL的解释
1 概述 如下例子,你觉得有什么问题?如你能很快的找出问题,并且解决它,那么你可以跳过本篇文章,谢谢~~. List<Base_Employee> ltPI = new List< ...