代码改变世界

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

  lzhshn  阅读(388)  评论(2编辑  收藏  举报

ckeditor,用于富文本编辑!

taggit,可以很方便快捷地为一篇文章实现标签功能!

 

【推荐】所有python相关的包,都推荐使用pypi.org里面的安装命令!

pip3 install django-ckeditor

pip3 install django-taggit

 

这两个模块需要首先到setting里,进行登记!

1
2
3
4
5
6
7
8
9
10
11
12
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,是这个富文本对象的名称(也可以视为是配置的名称)。

 

1
2
3
4
5
6
7
CKEDITOR_CONFIGS = {
    'awesome_ckeditor': {
        'toolbar': 'Basic',
        'height': 450,
        'width': 800,
    },
}

  

 

然后在models里,引入相关的对象即可:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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]

  

避免重复造轮子,善于使用别人的劳动成果是一个优秀程序员的必备素质,可以看到:

1
content = RichTextField(config_name='awesome_ckeditor')<br><br>personal_tags = TaggableManager()
1
<br> 

我们一篇文章中的两个部分,可以直接由非django模块来完成:ckeditor里的RichTextField替代了django的model里的相应内容,文章的标签,完全由taggit来实现。

最终的界面效果如下:

 

关于taggit,多个标签最好使用半角逗号进行分割!

 

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示