使用pycharm命令生成Django默认数据表,可能会报错mysqlclient错误:
这是因为,我们在安装pymysql后,还没有在项目内导入,
打开项目的__init__.py文件,导入下列代码:
import pymysql
pymysql.install_as_MySQLdb()
如果导入包报错,需要到设置内,安装一下pymysql,然后再导入:
添加图片上传字段时,提示我们image,没有安装一个叫Pillow的包应用:
打开电脑终端,进入对应的虚拟环境:
pip install Pillow
进行安装,完成后还需要在pycharm里安装应用:
然后执行如下命令,生成数据表:
以上在执行的时候,如果生成数据表出错,要先检查models代码有没有错误,或导入了错误的包:
修复完成后,手动删除pycharm里生成的0001.initial.py等数据文件,然后到数据库,清空django默认表:django_migrations表中的所有记录,
然后,在pycharm命令窗口,执行:
migrate users --fake
复原数据结构,然后再依次执行:
migrations app名称
migrate app名称
即可
正常更新数据表的流程:
在app中修改好model.py之后,
migrations app名称
migrate app名称
安装xadmin后,报错“future”的错误
仍然报错:
这是因为:
django2.0把from django.core.urlresolvers修改成了django.urls
打开下图,修改为django.urls
下面是django2.2搭配低版本的xadmin遇到的错误锦集:
https://blog.csdn.net/qq_23144067/article/details/89468549
还有一个后台管理界面错误:
Exception Value: 'Media' object has no attribute 'add_js'
解决方案:
将util.py 中的86行 def vendor(*tags):方法体改为:
css = {'screen': []}
js = []
for tag in tags:
file_type = tag.split('.')[-1]
files = xstatic(tag)
if file_type == 'js':
js.extend(files)
elif file_type == 'css':
css['screen'] += files
return Media(css=css, js=js)
以上还有很多报错,可以百度查错。
在xadmin管理页面,点进表内容,会提示报错:
‘CharField’ object has no attribute 'rel'
下面是修改方法: