赞
踩
前面我们已经实现了用Markdown语法写文章了。但是文章的评论用Markdown就不太合适了,你不能强求用户也花时间去熟悉语法啊。另外评论中通常还有表情、带颜色的字体等功能,这些也是Markdown不具备的。
因此富文本编辑器Django-ckeditor就派上用场了。
在虚拟环境中安装django-ckeditor:
(env) > pip install django-ckeditor
安装成功后还是老规矩,在settings.py
中注册app:
- my_blog/settings.py
-
- ...
- INSTALLED_APPS = [
- ...
-
- 'ckeditor',
-
- ...
- ]
- ...
接下来需要修改模型了。用django-ckeditor库自己的富文本字段RichTextField
替换普通的文本字段TextField
:
- comment/models.py
-
- ...
- # django-ckeditor
- from ckeditor.fields import RichTextField
- class Comment(models.Model):
- ...
- # 之前为 body = models.TextField()
- body = RichTextField()
- ...
记得每次修改模型后要迁移数据:
- (env) > python manage.py makemigrations
- (env) > python manage.py migrate
为方便测试,修改comment/admin.py
文件,将评论模块注册到后台中:
- comment/admin.py
-
- from django.contrib import admin
- from .models import Comment
-
- admin.site.register(Comment)
启动服务器,进入后台的评论页面,发现已经可以使用django-ckeditor了:
功能相当齐全,字体、字号、颜色、链接、表情应有尽有。
如果我只需要部分功能怎么办呢?比如插入flash动画基本就用不到。另外似乎也没看到插入代码块的功能。
ckeditor
允许你在settings.py
中进行自定义配置:
- my_blog/settings.py
-
- ...
- CKEDITOR_CONFIGS = {
-
- # django-ckeditor默认使用default配置
- 'default': {
-
- # 编辑器宽度自适应
- 'width':'auto',
- 'height':
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。