Django富文本插件ckeditor安装过程

前几天用python django框架做了一个内刊设计网站,上午终于安装上了Django富文本插件ckeditor,以前装了很多次都以失败告终,于是放弃了ckeditor,改用django-tinymce,但是django-tinymce太简单,后台图片上传功能都没有,用着实在不爽。

今天偶然找到一篇靠谱的ckeditor安装教程,照看教程试了一遍,居然安装成功了,心里像夏天吃了冰镇西瓜一般痛快。可见找到一个好的教程多么重要,现在百度上搜索到的教程,几乎千篇一律,感觉大家都是复制粘贴的。

ckeditor比tinymce好用多了,主要图片上传功能比较强大,不但可以上传,还可以截图粘贴过去,还有已上传图片浏览功能,但这个功能现在还没实验成功,点击找不到模板,可能哪个地方没有配置好,回头再找愿因,后来发现浏览服务器图片还要加上'ckeditor_uploader',一切完美。

下面是ckeditor安装配置方法:

首先用pip安装:Pipinstall django-ckeditor

接着在settings中添加应用:'ckeditor'

浏览服务器图片还要加上'ckeditor_uploader',

还要在settings中配置静态路径:

MEDIA_URL = '/media/'

MEDIA_ROOT=BASE_DIR/'media'

CKEDITOR_UPLOAD_PATH='images'

项目urls.py中的配置如下:

from django.conf.urls.static import static

from django.conf import settings

from django.contrib import admin

from django.urls import path,include

urlpatterns = [

    path('admin/', admin.site.urls),

    path('',include('home.urls',namespace='home')),

    path('ckeditor/',include('ckeditor_uploader.urls')),

]

if settings.DEBUG:

    urlpatterns = urlpatterns + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

    urlpatterns = urlpatterns + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

models中的配置如下:

from django.db import models

from ckeditor_uploader.fields import RichTextUploadingField

class Goods(models.Model):

    title = models.CharField(max_length=100,verbose_name='标题')

    photo = models.ImageField(upload_to='uploads/%Y/%m/%d/',verbose_name='缩略图')

    l_price = models.IntegerField(verbose_name='价格')

    content = RichTextUploadingField(verbose_name='详情')

    class Meta:

        ordering=['-id']

        verbose_name='商品列表'

        verbose_name_plural='商品列表'

    def __str__(self):

        return self.title

最关键最重要的是这个字段RichTextUploadingField

可选配置:

# settings.py

CKEDITOR_CONFIGS = {

    # 配置名是default时,django-ckeditor默认使用这个配置

    'default': {

        # 使用简体中文

        'language':'zh-cn',

        # 编辑器的宽高请根据你的页面自行设置

        'width':'100%',

        'height':'800px',

        'image_previewText':' ',

        'tabSpaces': 4,

        'toolbar': 'Custom',

        # 添加按钮在这里

        # 'toolbar_Custom': [

        #     ['Bold', 'Italic', 'Underline', 'Format', 'RemoveFormat'],

        #     ['NumberedList', 'BulletedList'],

        #     ['Blockquote', 'CodeSnippet'],

        #     ['Image', 'Link', 'Unlink'],

        #     ['Maximize']

        # ],

        # 插件

        'extraPlugins': ','.join(['codesnippet','uploadimage','widget','lineutils',]),

    }

}

上面的配置是全部功能,但是精简的工具就够用了,而且比较简洁。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容