当前位置:   article > 正文

django 引入jquery 3.5.1_Django搭建个人博客:使用django-ckeditor富文本编辑器

django引入jquery

前面我们已经实现了用Markdown语法写文章了。但是文章的评论用Markdown就不太合适了,你不能强求用户也花时间去熟悉语法啊。另外评论中通常还有表情、带颜色的字体等功能,这些也是Markdown不具备的。

因此富文本编辑器Django-ckeditor就派上用场了。

在后台使用Ckeditor

虚拟环境中安装django-ckeditor:

(env) > pip install django-ckeditor

安装成功后还是老规矩,在settings.py中注册app:

  1. my_blog/settings.py
  2. ...
  3. INSTALLED_APPS = [
  4. ...
  5. 'ckeditor',
  6. ...
  7. ]
  8. ...

接下来需要修改模型了。用django-ckeditor库自己的富文本字段RichTextField替换普通的文本字段TextField

  1. comment/models.py
  2. ...
  3. # django-ckeditor
  4. from ckeditor.fields import RichTextField
  5. class Comment(models.Model):
  6. ...
  7. # 之前为 body = models.TextField()
  8. body = RichTextField()
  9. ...

记得每次修改模型后要迁移数据

  1. (env) > python manage.py makemigrations
  2. (env) > python manage.py migrate

为方便测试,修改comment/admin.py文件,将评论模块注册到后台中:

  1. comment/admin.py
  2. from django.contrib import admin
  3. from .models import Comment
  4. admin.site.register(Comment)

启动服务器,进入后台的评论页面,发现已经可以使用django-ckeditor了:

a2b239aa2e2202a7e25e2488df553245.png

功能相当齐全,字体、字号、颜色、链接、表情应有尽有。

如果我只需要部分功能怎么办呢?比如插入flash动画基本就用不到。另外似乎也没看到插入代码块的功能。

ckeditor允许你在settings.py中进行自定义配置:

  1. my_blog/settings.py
  2. ...
  3. CKEDITOR_CONFIGS = {
  4. # django-ckeditor默认使用default配置
  5. 'default': {
  6. # 编辑器宽度自适应
  7. 'width':'auto',
  8. 'height':
本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/224376
推荐阅读
相关标签
  

闽ICP备14008679号