之前大大小小的问题也遇到很多,但没有及时整理,能想多少写多少吧。
错误:cannot import name RadioFieldRenderer
分析:xadmin 不支持django 2.0版本,所以我需要改我的django版本,因为懒,所以之前没有安装python虚拟环境,并且一下子安装了个最新版的django,导致了很多错误。
解决:切换python下django版本,从2.0切换成1.9,pycharm的settings下的interpreter里面双击里面库,可以更换版本,但是本人在没用vpn的状况下,等了很久没有安装成功,然后在命令行下使用pip install django 1.9 显示没有此版本,去网上查了一下,正确的pip命令是,pip install django==1.9,在没用vpn情况下,下载速度在10KB/S左右,经常time out 导致下载失败,使用VPN后,瞬间下载完成,速度在300~500KB/s左右
修改完django的版本后依然发生错误,显示
错误:errno: 13 "Permission denied"
分析:因为虽然pycharm里面的版本换了,但是project里面的文件没有换,2.0版本的manage.py文件和1.9的manage.py文件是不一样的,
解决:需要重新建立一个项目,把其中的manage.py文件复制过来替换原来的manage.py文件,
改完之后,还是出现了错误,显示:
错误:django.db.utils.OperationalError: (1025 啥的
分析:好像是因为数据里面表已经有了
解决:把数据库里面表全删掉,并且把每个app下的migration下init文件删掉,再重新用makemigrations,migrate载入
错误:'WSGIRequest' object has no attribute 'user'
分析:还是版本问题,settings文件里面的内容,2.0版本和1.9还是不一样的
这是Django版本的问题,1.9之前,中间件的key为MIDDLEWARE_CLASSES, 1.9之后,为MIDDLEWARE。所以在开发环境和其他环境的版本不一致时,要特别小心,会有坑。
解决:需要在settings里面把MIDDLEWARE改为MIDDLEWARE_CLASSES 即可
错误:创建超级用户时Superuser creation skipped due to not running in a TTY. You can run `manage.py createsuperuser` in your project to create one manually.
分析:感觉这个问题是因为在本文第二个错误的解决里换了manage.py文件的原因
解决:在终端下执行:python manage.py syncdb 即可。
错误:从github上下载的xadmin源码包安装报错AppRegistryNotReady: Apps aren't loaded yet.
分析和解决:http://blog.csdn.net/jj546630576/article/details/75652825