117-django中第三方模块的引入:ckeditor,taggit
2020-08-11 23:01 lzhshn 阅读(452) 评论(2) 收藏 举报ckeditor,用于富文本编辑!
taggit,可以很方便快捷地为一篇文章实现标签功能!
【推荐】所有python相关的包,都推荐使用pypi.org里面的安装命令!
pip3 install django-ckeditor
pip3 install django-taggit
这两个模块需要首先到setting里,进行登记!
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'notebook',
'taggit',
'ckeditor',
]
其中,富文本ckeditor还要写一下相关配置:
所有django中引入的第三方模块,如果需要进行一些定制化的配置,都需要写在setting文件里。
awesome_ckeditor,是这个富文本对象的名称(也可以视为是配置的名称)。
CKEDITOR_CONFIGS = {
'awesome_ckeditor': {
'toolbar': 'Basic',
'height': 450,
'width': 800,
},
}
然后在models里,引入相关的对象即可:
from django.db import models
from taggit.managers import TaggableManager
from ckeditor.fields import RichTextField
# Create your models here.
class MyNote(models.Model):
title = models.CharField(max_length=64, default='a default title')
content = RichTextField(config_name='awesome_ckeditor')
pub_time = models.DateTimeField()
update_time = models.DateTimeField(auto_now=True)
pub_date = models.DateField(auto_now=True)
personal_tags = TaggableManager()
def __str__(self):
return self.title[0:32]
避免重复造轮子,善于使用别人的劳动成果是一个优秀程序员的必备素质,可以看到:
content = RichTextField(config_name='awesome_ckeditor')
personal_tags = TaggableManager()
我们一篇文章中的两个部分,可以直接由非django模块来完成:ckeditor里的RichTextField替代了django的model里的相应内容,文章的标签,完全由taggit来实现。
最终的界面效果如下:

关于taggit,多个标签最好使用半角逗号进行分割!
浙公网安备 33010602011771号