首先废话一句,使用django-ckeditor的时候必须要先pip install django-ckeditor
此时是把ckeditor安装到了python运行环境的插件包中,我们可以称之为系统环境。而django-ckeditor默认是需要django自带的后台登录后才可以使用上传文件等功能。我们在网上搜索的关于django-ckeditor的教程绝大部分都是关于在后台使用的,我前面的文章有讲如何在前台使用普通文本文章的使用,有需要的朋友可以往前翻一下。
如果想要单独开发管理员后台而不使用Django自带的后台,那么你使用django-ckeditor的麻烦就来了,因为你无法上传图片或其它文件到服务器,不信你可以试一下。
那么怎么办呢,有没有办法在即不使用自带后台又可以实现前台文件上传的方法,经过“教程智库”利哥的研究,终于找到了方法
方法正文
- ckeditor默认安装到了python的插件包中,我们可以把ckeditor和ckeditor_uploader 这两个文件夹单独复制出来,在项目的根目录下新建一个文件夹比如ckeditor2,千万不可使用ckeditor,并把2个文件夹放进去。
不知道如何找这两个文件的朋友可以使用我的下载链接,下载后直接放在你刚才新建的文件夹中即可。
下载链接:https://note.youdao.com/ynoteshare1/index.html?id=fb7942071be65b89d667d71f24e3e790&type=note
- 在根urls中配置路径
- 然后要修改ckeditor_uploader.urls 取消登陆验证
- 这个 staff_member_required 即为django集成后台的登陆验证,将其取消即可。
总结,其实这个操作的本质就是最后一步取消 staff_member_required 的登陆验证,那为什么不直接在开发的时候更改包的django_uploader.urls文件将 staff_member_required 取消呢,因为这个文件是按照django-ckeditor的原生包,正式环境中非常不好改,特别是在linux中,而且程序迁移到新环境中该方法还得重新设置。
按照我上面的方式改,既不破坏原生环境,又可以灵活地越过登陆验证,且一次开发多处使用。