Django 中使用 ckEditor 生成文章编辑器
2022/8/7 23:23:06
本文主要是介绍Django 中使用 ckEditor 生成文章编辑器,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Django 中使用 ckEditor 生成文章编辑器
(1) 安装第三方功能应用 Django CKEditor,并且设置改应用的功能
pip install django-ckeditor
(2) settings.py中注册Django CKEditor功能应用
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', # 添加 Django CKEditor 'ckeditor', 'ckeditor_uploader', ] #编辑器的配置信息 CKEDITOR_UPLOAD_PATH = "article_images" # 设置编辑器上传的图片的存储位置,在该文件夹在media文件夹下 CKEDITOR_CONFIGS = { 'default': { 'toolbar': 'Full' } } # 设置工具栏工具,full代表全部功能 CKEDITOR_ALLOW_NONIMAGE_FILES = False # 支持上传任何文件,不只是图片 CKEDITOR_BROWSE_SHOW_DIRS = True # 上传的文件显示在浏览器上
(3) 在主应用的urls.py文件中定义 Django CKEditor的路由信息
from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), # 设置编辑器的路由信息 path('ckeditor/', include('ckeditor_uploader.urls')), ]
(4) 在模型中重新定义文章内容字段,将字段改为 Django CKEditor 定义的字段类型,例如:
class ArticleInfo(models.Model): author = models.ForeignKey(MyUser, on_delete=models.CASCADE, verbose_name='用户') title = models.CharField('标题', max_length=200) # 重新定义文章内容字段,使用RichTextUploadingField content = RichTextUploadingField(verbose_name='内容') articlephoto = models.ImageField('文章图片', blank=True, upload_to='images/article/') reading = models.IntegerField('阅读量', default=0) liking = models.IntegerField('点赞量', default=0) created = models.DateTimeField('创建时间', default=timezone.now) updated = models.DateTimeField('更新时间', auto_now=True) article_tag = models.ManyToManyField(ArticleTag, blank=True, verbose_name='文章标签') def __str__(self): return self.title class Meta: verbose_name = '博文管理' verbose_name_plural = '博文管理'
(5) 重新执行数据迁移
这篇关于Django 中使用 ckEditor 生成文章编辑器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24MongoDB资料:新手入门完全指南
- 2024-12-20go-zero 框架的 RPC 服务 启动start和停止 底层是怎么实现的?-icode9专业技术文章分享
- 2024-12-19Go-Zero 框架的 RPC 服务启动和停止的基本机制和过程是怎么实现的?-icode9专业技术文章分享
- 2024-12-18怎么在golang中使用gRPC测试mock数据?-icode9专业技术文章分享
- 2024-12-15掌握PageRank算法核心!你离Google优化高手只差一步!
- 2024-12-15GORM 中的标签 gorm:"index"是什么?-icode9专业技术文章分享
- 2024-12-11怎么在 Go 语言中获取 Open vSwitch (OVS) 的桥接信息(Bridge)?-icode9专业技术文章分享
- 2024-12-11怎么用Go 语言的库来与 Open vSwitch 进行交互?-icode9专业技术文章分享
- 2024-12-11怎么在 go-zero 项目中发送阿里云短信?-icode9专业技术文章分享
- 2024-12-11怎么使用阿里云 Go SDK (alibaba-cloud-sdk-go) 发送短信?-icode9专业技术文章分享