【Django】Django4.1.2使用xadmin避坑指南

简介: 【Django】Django4.1.2使用xadmin避坑指南

环境

win10 python3.9.0 django4.1.2

问题一:ImportError: cannot import name ‘six‘ from ‘django.utils‘

解决办法:
如果正常安装了xadmin库的话,six库也会安装,把项目根目录/venv/Lib/site-packages/six.py复制到项目根目录/venv/Lib/site-packages/django/utils下即可。

问题二:ImportError: cannot import name 'ugettext_lazy' from 'django.utils.translation'

分析:
Django已经弃用 ugettext(), ugettext_lazy(), ugettext_noop(), ungettext(), 和 ungettext_lazy()
查看issues

解决办法:
既然选择了高版本Django,就尝试在此版本下解决问题。

它已从Django 4中删除,请使用此选项
from django.utils.translation import gettext_lazy as _

问题三:ImportError: cannot import name ‘ugettext’ from ‘django.utils.translation’

解决办法:
和问题二原因一样,改用from django.utils.translation import gettext_lazy as _, gettext,后续还会遇到几次类似问题,处理方式相同。

问题四:ImportError: cannot import name 'python_2_unicode_compatible' from 'django.utils.encoding'

解决办法:

# from django.utils.encoding import python_2_unicode_compatible, smart_text
from django.utils.encoding import smart_text
from six import python_2_unicode_compatible

问题五:ImportError: cannot import name 'pretty_name' from 'django.forms.forms'

解决办法:

# from django.forms.forms import pretty_name
from django.utils import formats, six

问题六:ImportError: cannot import name 'force_text' from 'django.utils.encoding'

解决办法:

# from django.utils.encoding import force_text, smart_text, smart_str
from django.utils.encoding import force_str, smart_str
django.utils.encoding.force_text = force_str
django.utils.encoding.smart_text = smart_str

问题七:ImportError: cannot import name 'ungettext' from 'django.utils.translation'

解决办法:

# from django.utils.translation import ungettext
from django.utils.translation import ngettext

问题八:ModuleNotFoundError: No module named 'django.contrib.staticfiles.templatetags'

解决办法:

# from django.contrib.staticfiles.templatetags.staticfiles import static
from django.templatetags.static import static

参考链接

问题九:ImportError: cannot import name 'urlquote' from 'django.utils.http'

解决办法:
http.py文件

from urllib.parse import (
    ParseResult,
    SplitResult,
    _coerce_args,
    _splitnetloc,
    _splitparams,
    scheme_chars,
    quote,
)

dashboard.py文件

# from django.utils.http import urlencode, urlquote
from django.utils.http import urlencode, quote

这个是参考Django2的源码改的,不一定正确,欢迎指正。
好像也有依据

问题十:ImportError: cannot import name 'lookup_needs_distinct' from 'django.contrib.admin.utils'

依据
The undocumented django.contrib.admin.utils.lookup_needs_distinct() function is renamed to lookup_spawns_duplicates().
解决办法:

lookup_needs_distinct替换为lookup_spawns_duplicates

问题十一:ImportError: cannot import name 'FieldDoesNotExist' from 'django.db.models.fields'

解决办法:
pip install django-advanced-filters

# from django.db.models.fields import FieldDoesNotExist
from django.core.exceptions import FieldDoesNotExist

问题十二:ImportError: cannot import name 'SKIP_ADMIN_LOG' from 'import_export.admin'

解决办法:

#from import_export.admin import DEFAULT_FORMATS, SKIP_ADMIN_LOG, TMP_STORAGE_CLASS
from import_export.admin import DEFAULT_FORMATS, ImportMixin, ImportExportMixinBase

#from import_export.admin import DEFAULT_FORMATS, SKIP_ADMIN_LOG, TMP_STORAGE_CLASS
from import_export.admin import DEFAULT_FORMATS, ImportMixin, ImportExportMixinBase

依据

到现在为止,可以正常进行数据库迁移了,已经0:34了,睡觉(¦3[▓▓] 晚安

我本以为搞定了,没想到这个文章还会出Django4.1.2使用xadmin避坑指南(二)

我把改好的xadmin源码上传了一份到GitHub上,希望能够给个star:star:!

Django4.1.2-xadmin

相关文章
|
前端开发 JavaScript Python
【Django】Django4.1.2使用xadmin避坑指南(二)
【Django】Django4.1.2使用xadmin避坑指南(二)
django2使用xadmin打造适合国人的后台管理系统(2)
在django2使用xadmin打造适合国人的后台管理系统(1)中已经集成好了xadmin,那么接下来就开始来使用xadmin以及做一些常用设置。 1.首先设置支持中文,修改settings文件中的 LANGUAGE_CODE = 'zh-hans', TIME_ZONE ='Asia/Shanghai'。
2578 0
|
Python 数据安全/隐私保护 前端开发
django2使用xadmin打造适合国人的后台管理系统(1)
       python火了之后,学习python的人也越来越多了,python做web开发的话,flask、django是比较火的框架了,django是一个比较大的框架,也是一个快速开发利器。
2326 0
|
Python 前端开发 数据库
Python3 | Django后台管理框架Xadmin安装指南
Django是python的重量级web框架,写得少,做得多,非常适合后端开发,它很大的一个亮点是,自带后台管理模块,但它自带的后台管理有点丑,而Xadmin是基于bootstrap开发的一套后台管理框架,界面非常美观,只需几步就可以替换自带的Dja...
2414 0
|
数据库 Python 关系型数据库
|
5月前
|
Linux 数据库 数据安全/隐私保护
Python web Django快速入门手册全栈版,共2590字,短小精悍
本教程涵盖Django从安装到数据库模型创建的全流程。第一章介绍Windows、Linux及macOS下虚拟环境搭建与Django安装验证;第二章讲解项目创建、迁移与运行;第三章演示应用APP创建及项目汉化;第四章说明超级用户创建与后台登录;第五章深入数据库模型设计,包括类与表的对应关系及模型创建步骤。内容精炼实用,适合快速入门Django全栈开发。
177 1
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
657 45
|
机器学习/深度学习 人工智能 算法
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
植物病害识别系统。本系统使用Python作为主要编程语言,通过收集水稻常见的四种叶片病害图片('细菌性叶枯病', '稻瘟病', '褐斑病', '稻瘟条纹病毒病')作为后面模型训练用到的数据集。然后使用TensorFlow搭建卷积神经网络算法模型,并进行多轮迭代训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地模型文件。再使用Django搭建Web网页平台操作界面,实现用户上传一张测试图片识别其名称。
455 22
植物病害识别系统Python+卷积神经网络算法+图像识别+人工智能项目+深度学习项目+计算机课设项目+Django网页界面
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
489 7
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
前端开发 搜索推荐 算法
中草药管理与推荐系统Python+Django网页界面+推荐算法+计算机课设系统+网站开发
中草药管理与推荐系统。本系统使用Python作为主要开发语言,前端使用HTML,CSS,BootStrap等技术和框架搭建前端界面,后端使用Django框架处理应用请求,使用Ajax等技术实现前后端的数据通信。实现了一个综合性的中草药管理与推荐平台。具体功能如下: - 系统分为普通用户和管理员两个角色 - 普通用户可以登录,注册、查看物品信息、收藏物品、发布评论、编辑个人信息、柱状图饼状图可视化物品信息、并依据用户注册时选择的标签进行推荐 和 根据用户对物品的评分 使用协同过滤推荐算法进行推荐 - 管理员可以在后台对用户和物品信息进行管理编辑
442 12
中草药管理与推荐系统Python+Django网页界面+推荐算法+计算机课设系统+网站开发