117-django中第三方模块的引入:ckeditor,taggit

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,多个标签最好使用半角逗号进行分割!

原文地址:https://www.cnblogs.com/lzhshn/p/13487728.html