使用django-ckeditor的时候一直提示500错误,并且不能上传图片

在django-editor配置完成之后,发现不能上传文件,一直提示500错误,控制台错误信息是:
       TypeError: coercing to Unicode: need string or buffer, list found
找了好久问题,都没有找到,最后仔细检查settings.py文件:
发现在配置MEDIA_ROOT时,我配置成了一个list :
            MEDIA_ROOT=[os.path.join(BASE_DIR,'media').replace('\\', '/'),]
但是人家需要一个str或buffer,所以赶紧改成:
            MEDIA_ROOT=os.path.join(BASE_DIR,'media').replace('\\', '/')

 

注:另外还有一个报500错误的可能就是未授予用户数据库的写权限(我使用的是db.sqlite3),但这种可能发生在部署项目到云服务器上时:

如果你使用的是sqlite3数据库,还会提示 Attempt to write a readonly database,同样要给www-data写数据库的权限

进入项目目录的上一级,比如project目录为 /home/mysite 那就登录到服务器,进入 /home 执行下面的命令:

sudo chgrp www-data mysite

sudo chmod g+w mysite 

sudo chgrp www-data mysite/db.sqlite3 # 更改为你的数据库名称 

sudo chmod g+w mysite/db.sqlite3

这样在重启下服务器就可以了。


        问题解决,希望能帮助到有需要的人。

你可能感兴趣的:(python,Django,Django,python)