django3.1.1 集成 xadmin0.6.1 时出现的兼容问题集锦

1. No module named 'django.core.urlresolvers'
    解决办法:
        将:
            django.core.urlresolvers 
        修改为:
            django.urls

2.  cannot import name 'python_2_unicode_compatible' from 'django.utils.encoding'
    解决办法:
        将:
            django.utils.encoding 
        修改为:
            django.utils.six

3. cannot import name 'smart_text' from 'django.utils.encoding'
    解决办法:
        将:
            django.utils.encoding
        修改为:
            django.utils.encoding

4. No module named 'django.contrib.staticfiles.templatetags'
    解决办法:
        将:
            django.contrib.staticfiles.templatetags、
        修改为:
            django.templatetags.static

5. init() missing 1 required positional argument: 'on_delete'
    解决办法:
        在外键 ForeignKey 的地方加上 on_delete=models.CASCADE

6.  init() takes 1 positional argument but 6 were given
    解决办法:
        将:xadmin.views.dashboard.py 文件中的
            forms.Field.__init__(self, required, widget, label, initial, help_text, *args, **kwargs)
        修改为:
            forms.Field.__init__(self)

7. cannot import name 'login' from 'django.contrib.auth.views'
    解决办法:
        将 
            from django.contrib.auth.views import login
            from django.contrib.auth.views import logout
        修改为:
            from django.contrib.auth.views import LoginView as login
            from django.contrib.auth.views import LogoutView as logout

8. cannot import name 'QUERY_TERMS' from 'django.db.models.sql.query'
    解决办法: QUERY_TERMS 字段名字变成了 Query
        from django.db.models.sql.query import Query as QUERY_TERMS

9. cannot import name 'password_reset_confirm' from 'django.contrib.auth.views'
    解决办法:
        将:
            from django.contrib.auth.views import password_reset_confirm
        修改为:
            from django.contrib.auth.views import PasswordResetConfirmView as password_reset_confirm

10. 'Settings' object has no attribute 'MIDDLEWARE_CLASSES'
    解决办法:
        将: xadmin\plugins\language.py 中的     
            if settings.LANGUAGES and 'django.middleware.locale.LocaleMiddleware' in settings.MIDDLEWARE_CLASSES:
        修改为:
            if settings.LANGUAGES and 'django.middleware.locale.LocaleMiddleware' in settings.MIDDLEWARE:

11. cannot import name 'FieldDoesNotExist' from 'django.db.models'
    解决办法:
        将 FieldDoesNotExist 独立进行导入,需要删除原本该类的导入
        from django.core.exceptions import FieldDoesNotExist

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值