django3+xadmin配置踩雷

最近在尝试写一个Django的OA管理系统,运用Django3+xadmin的方式做admin的管理页面

但是Django3和xadmin的兼容性并不是特别好,中间也是踩了不上雷,花掉很多时间去适配,下面整理一些我见到过的坑,算是避免以后再做的时候浪费很多时间去解决适配的问题

问题1: ImportError: cannot import name ‘six’

# 解决方法
pip install six
然后找到 Lib\site-packages 下的six.py 复制到 django/utils下面

问题2: ImportError: cannot import name ‘python_2_unicode_compatible’

# 找到对应PY文件
from django.utils.encoding import force_text, python_2_unicode_compatible
# 改为
from django.utils.encoding import force_text
from django.utils.six import python_2_unicode_compatible

问题3: ModuleNotFoundError: No module named ‘django.contrib.staticfiles.templatetags’

# 找到对应PY文件
if 'django.contrib.staticfiles' in settings.INSTALLED_APPS:
    from django.contrib.staticfiles.templatetags.staticfiles import static
else:
    from django.templatetags.static import static
# 改为
if 'django.contrib.staticfiles' in settings.INSTALLED_APPS:
     from django.contrib.staticfiles.templatetags.staticfiles import static
else:
	from django.templatetags.static import static

问题4:ModuleNotFoundError: No module named FieldDoesNotExist
这个是我碰到最麻烦的,是因为Django3中db模块并没有FieldDoesNotExist类
而是将这个类移到了Django.core.excepitons中
解决办法是在django/db/models/fields/init.py中导入django.core.excepitons
然后再在__all__+=[ ]中添加FieldDoesNotExist
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值