最近想修改下之前写的一个博客,写的时候过于简单并没有在后台加上编辑器,上传文章时很是不便。起初是用的django-mdeditor做为编辑器,可以直接以markdown语法写文章,配置起来非常简单方便,用了一下觉得没那么好,而且像图片居中显示这种普通编辑器很简单的操作在mdeditor用起来貌似不那么支持,也可能是我没弄明白。还是换成django-ckeditor ++ markdown插件,这样Html语法和markdown语法就都支持了。记录一下方法。

1.安装django-ckeditor

pip install django-ckeditor

2. 配置settings.py

INSTALLED_APPS = ['simpleui',                     # 美化后台页面的,需要放在前面'django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','django.contrib.humanize',      # # 添加人性化模板过滤器'ckeditor',                     # 后台的ck编辑器,'ckeditor_uploader'             # ck编辑器上传图片用的]# 内容编辑器的上传图片位置定义
MEDIA_URL = '/media/'  # 上传图片的路径,这路径是前端显示的路径
MEDIA_ROOT = os.path.join(BASE_DIR, 'uploads')  # 上传图片的根路径,这是实际存放的路径
CKEDITOR_UPLOAD_PATH = "editor/"   # 文件保存为止,因为上边配置了media, 图片将保存至uploads/editor/下,前端页面显示:/media/editor/下# 使用ck的工具栏并修改,宽度自适应,admin后台编辑文章那里用的
# 没有这个字典也是可以的,只是这里尽量自定义下,因为默认的工具选项并不多,有些还没有,比如加markdown这种插件也需要在此定义
CKEDITOR_CONFIGS = {# django-ckeditor 默认使用default配置,'default': {# 编辑器宽度自适应'width': 'auto','height': '600px',# tab键转换空格数'tabSpaces': 4,# 工具栏风格'toolbar': 'Custom',# 工具栏按钮'toolbar_Custom': [# 源代码['Source'],# 格式、字体、大小['Format', 'Font', 'FontSize'],# 字体颜色['TextColor', 'BGColor'],# 字体风格['Bold', 'Italic', 'Underline', 'RemoveFormat', 'Blockquote'],# 预览、表情['Preview', 'Smiley'],# 链接['Link', 'Unlink'],# 列表['Image', 'NumberedList', 'BulletedList', 'HorizontalRule'],# 居左,居中,居右['JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock'],['CodeSnippet', 'Markdown'],        # 这个markdown插件默认没有,得额外下载。# 最大化['Maximize'],],# 加入代码块插件'extraPlugins': ','.join(['codesnippet', 'markdown', 'image2', 'filebrowser', 'widget', 'lineutils']),},# 评论用的,可以定义多个分别应用的不同的场景'comment': {# 编辑器宽度自适应'width': 'auto','height': '140px',# tab键转换空格数'tabSpaces': 4,# 工具栏风格'toolbar': 'Custom',# 工具栏按钮'toolbar_Custom': [# 表情 代码块['Smiley', 'CodeSnippet'],# 字体风格['Bold', 'Italic', 'Underline','Strike', 'RemoveFormat', 'Blockquote'],# 字体颜色['TextColor', 'BGColor'],# 链接['Link', 'Unlink'],# 列表['NumberedList', 'BulletedList'],],# 加入代码块插件'extraPlugins': ','.join(['codesnippet']),}
}

3.配置models.py

这里用 RichTextUploadingField 字段就是带上传图片功能,如果用RichTextField字段就不带上传图片的功能。

from ckeditor_uploader.fields import RichTextUploadingFieldclass Article(models.Model):author = models.ForeignKey(user_models.UserInfo, verbose_name='作者', on_delete=models.PROTECT)title = models.CharField(max_length=150, verbose_name='文章标题')summary = models.TextField('文章摘要', max_length=230, default='文章摘要等同于网页description内容,请务必填写...')body = RichTextUploadingField(verbose_name='文章内容', config_name='default')  # 这里的default就指的settings.py中CKEDITOR_CONFIGS['default']的配置

4.配置url.py

urlpatterns = [path('admin/', admin.site.urls),# 上传media的文件可以被查看,这个很重要,re_path(r'^uploads/(?P<path>.*)$', serve, {"document_root": MEDIA_ROOT}),# ckckeditor图片上传,一起搞上path('ckeditor/', include('ckeditor_uploader.urls')),
]

5.配置markdown

默认django-ckeditor并没有带着markdown的插件,首先下载插件:GitHub - hectorguo/CKEditor-Markdown-Plugin: Markdown Plugin for CKEditor,要是github打开慢,也可以从这里,链接:https://pan.baidu.com/s/1jJGHm-4cmpJ_a0ZurRf8wg?pwd=594y 
提取码:594y

解压文件后,将markdown文件夹放到 Lib\site-packages\ckeditor\static\ckeditor\ckeditor\plugins目录下,在上面settings.py中已经做过markdown插件的配置了,这里就不再需要做别的设置了,注意settings.py中的toolbar_Custom列表值,首字母一定是大写的,这个不要弄错。

配置admin是另外的故事,做完上述这些,后台就可以显示编辑器了。

django-ckeditor配置使用markdown语法相关推荐

  1. Django 快速搭建博客 第七节(文章详情页,markdown语法)

    版权声明: 更多最新原创文章请访问:最新原创主页 更多最全原创文章请访问:更多原创主页 上一节我们把真正的index.html显示出来了,只是一个摘要,接下来我们要做的是当我们点击标题或者继续阅读的时 ...

  2. Django博客--5.让博客支持 Markdown 语法和代码高亮

    文章目录 0.前言 1.安装 Python Markdown 2.在 detail 视图中解析 Markdown 3.safe 标签 4.代码高亮 5.效果展示 0.前言 Markdown 是一种 H ...

  3. activiti高亮显示图片_第 09 篇:让博客支持 Markdown 语法和代码高亮

    作者:HelloGitHub-追梦人物 文中涉及的示例代码,已同步更新到HelloGitHub-Team 仓库[1] 为了让博客文章具有良好的排版,显示更加丰富的格式,我们使用 Markdown 语法 ...

  4. 如何用Vue实现简易的富文本编辑器,并支持Markdown语法

    前端开发经常会用到富文本编辑器,比如CKEditor,动不动一个库几十M的代码量,其中涉及许多你可能用不到的功能特性和相关设置,CKEditor最新版本的代码仓库就有接近2000个JS文件,300,0 ...

  5. Django环境配置

    Django安装 #安装最新版本的Django $ pip install django #或者指定安装版本 pip install -v django==1.7.1 项目创建 $ django-ad ...

  6. markdown引入代码_第 09 篇:让博客支持 Markdown 语法和代码高亮

    作者:HelloGitHub-追梦人物 文中涉及的示例代码,已同步更新到HelloGitHub-Team 仓库[1] 为了让博客文章具有良好的排版,显示更加丰富的格式,我们使用 Markdown 语法 ...

  7. Markdown(编辑器)工具与使用总结Markdown语法图文全面详解

    对于markdown文档格式因网络文章.云笔记的兴起,及开源代码的文档应用,现已变更越来越来流行.markdown不止是HTML的简化版,更重要的是txt的升级版.word的轻量版.是笔记的最佳载体. ...

  8. Markdown语法详细整理

    Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,被广泛的用于网站的文档撰写,可以支持多种类型的文件,以下就是我整理的Markdown的语法 1.Markdown标题 ...

  9. 推荐几款基于 Markdown 语法在线制作简历的平台

    大家好,我是 JackTian. 前天跟大家分享了一篇<写简历没模板?别怕,这些开源项目帮你搞定!>的文章,给一些正在求职或打算跳槽的小伙伴一些相关参考. 通常情况下,有了模板,也大致想清 ...

最新文章

  1. 一文读懂Spring中的AOP机制
  2. linux查询数据库sql,SQL Server 跨数据库查询
  3. Hbase 学习(六) 配置文件调优
  4. linux epoll监听套接字实例
  5. linux c之<setjmp.h>使用总结
  6. power bi 商业智能相关书籍介绍
  7. gaussian 和gaussview_「测试狗」Gaussian量化模拟入门教程(一)
  8. 毕业设计(毕设)目标和要求 (以计算机软件毕业设计为例)
  9. 张一鸣宣布卸任字节跳动CEO!
  10. $(function) ready onload 等区别
  11. 如何选一款软件助力企业腾飞
  12. 库克开怼谷歌和Facebook:自己搞的烂摊子,要会自己收拾
  13. FPGA之道(16)FPGA开发流程之项目方案与FPGA设计方案
  14. java中explain什么意思_explain关键字使用解释
  15. 第三课——win10常用快捷键的使用
  16. 大学计算机实验报告答案 南京理工大学,南京理工大学微机实验报告
  17. lua根据权重随机test
  18. 稀疏表示和DOA估计的联系与区别(the link and the gap)
  19. 读懂消费贷款之中国消费金融发展史
  20. Oracle字符串连接的方法

热门文章

  1. 视频帧率与显示刷新率
  2. 《Python知识手册》.pdf
  3. 视频压缩编码问答--转载
  4. 微信开发生成带参数的二维码的讲解
  5. 项目三:近10年来中国电影票房数据爬取分析
  6. [网鼎杯2018]Unfinish
  7. MDM9205平台射频卡分析
  8. qBittorrent一个替代 µTorrent 的开源软件
  9. PC网站接入微信登陆流程三:前端获取展示登录二维码,并且登录成功后提交code给后端
  10. 小梅哥FPGA:基于线性序列机的TLC5620型DAC驱动设计