之前也用过很多富文本编辑器,没做什么整理,每次用都是去搜,这次索性自己整理以下,方便日后自己看。
目前在用django把我那之前的前后端不分离的博客,用djangorestframework改成前后端分离的版本。后面在接着跟新《Python绝技》
可以参照以下Python官方的实例官网连接
嗯,首先说一下我的环境 Python3.5 + Ubuntu16.04
Django==1.10.8
xadmin==0.6.1
先看以下效果图
一, 先安装依赖包
pip install django-ckeditor==5.4.0
pip install Pillow==5.0.0
可以考虑使用豆瓣源安装 pip install django-ckeditor==5.4.0 -i https://pypi.douban.com/simple/
二,配置你的setting.py文件.
- 首先看一下我的文件夹关系
INSTALLED_APPS = [
# 添加富文本编辑器配置
'ckeditor',
'ckeditor_uploader',
]
三,配置路由。
在项目文件夹下的urls.py添加以下路由
urlpatterns = [
# 添加富文本url
url(r'^ckeditor/', include('ckeditor_uploader.urls')),
]
四,配置其他文件
# 这些文件夹必须要之前新建好
STATIC_URL = '/static/'
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
# 这个配置,有很多样式,可以自己去官网找样式。
CKEDITOR_CONFIGS = {
'default': {
'toolbar': 'full',
# 添加按钮在这里
'toolbar_Custom': [
['Blockquote', 'CodeSnippet'],
],
},
}
CKEDITOR_UPLOAD_PATH = "/uploads/"
CKEDITOR_JQUERY_URL = 'https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js'
五,运行python manage.py collectstatic
这一步大概意思是收集静态文件,把这些文件放到一起是为了用 apache/nginx 等部署的时候更方便
六,使用
在model模型类里面这样使用
from ckeditor.fields import RichTextField
class Article(models.Model):
# 富文本 我试过很多其他的富文本
# content = HTMLField(verbose_name='内容')
# content = MarkdownField(verbose_name='内容')
# content = models.TextField(verbose_name='内容')
content = RichTextField(verbose_name="内容")
嗯,这是我日常遇到的一些琐碎的知识点,最好还是要参考官网上面的API说明,那个说明更详细,自己记录下来,见证成长把!
嗯,说个小知识点可以这样搜资料
django ckeditor api
或者
python ckeditor document
这样搜出来的第一条基本都是官方的文档,最好去google上搜。