首先废话一句,使用django-ckeditor的时候必须要先pip install django-ckeditor

此时是把ckeditor安装到了python运行环境的插件包中,我们可以称之为系统环境。而django-ckeditor默认是需要django自带的后台登录后才可以使用上传文件等功能。我们在网上搜索的关于django-ckeditor的教程绝大部分都是关于在后台使用的,我前面的文章有讲如何在前台使用普通文本文章的使用,有需要的朋友可以往前翻一下。

如果想要单独开发管理员后台而不使用Django自带的后台,那么你使用django-ckeditor的麻烦就来了,因为你无法上传图片或其它文件到服务器,不信你可以试一下。

那么怎么办呢,有没有办法在即不使用自带后台又可以实现前台文件上传的方法,经过“教程智库”利哥的研究,终于找到了方法

方法正文

  1. ckeditor默认安装到了python的插件包中,我们可以把ckeditor和ckeditor_uploader 这两个文件夹单独复制出来,在项目的根目录下新建一个文件夹比如ckeditor2,千万不可使用ckeditor,并把2个文件夹放进去。

不知道如何找这两个文件的朋友可以使用我的下载链接,下载后直接放在你刚才新建的文件夹中即可。

下载链接:https://note.youdao.com/ynoteshare1/index.html?id=fb7942071be65b89d667d71f24e3e790&type=note




python将指定图片发送到微信_登陆验证


  1. 在根urls中配置路径


python将指定图片发送到微信_登陆验证_02


  1. 然后要修改ckeditor_uploader.urls 取消登陆验证


python将指定图片发送到微信_登陆验证_03


  1. 这个 staff_member_required 即为django集成后台的登陆验证,将其取消即可。


python将指定图片发送到微信_django_04


总结,其实这个操作的本质就是最后一步取消 staff_member_required 的登陆验证,那为什么不直接在开发的时候更改包的django_uploader.urls文件将 staff_member_required 取消呢,因为这个文件是按照django-ckeditor的原生包,正式环境中非常不好改,特别是在linux中,而且程序迁移到新环境中该方法还得重新设置。

按照我上面的方式改,既不破坏原生环境,又可以灵活地越过登陆验证,且一次开发多处使用。