首页 > 其他分享 >Django3.2使用xadmin2遇到的问题

Django3.2使用xadmin2遇到的问题

时间:2024-05-15 23:19:38浏览次数:27  
标签:name 遇到 ImportError utils django forms import Django3.2 xadmin2

使用xadmin2遇到的问题&解决

环境配置:

使用的模块版本:
img

关联的包

Django               3.2.15
mysqlclient          2.2.4
xadmin               2.0.1
django-crispy-forms >= 1.6.0
django-import-export >= 0.5.1
django-reversion >= 2.0.0
django-formtools == 2.1
future == 0.15.2
httplib2 == 0.9.2
six == 1.10.0

注意:

你需要安装的有:
Django=3.2.15
mysqlclient
xadmin
其中:xadmin我使用https方式安装的

pip install https://codeload.github.com/sshwsfc/xadmin/zip/django2

xadmin下载链接:
https://github.com/sshwsfc/xadmin/tree/django2
使用:只需要其中的xadmin文件夹,放入项目中使用

问题&解决

问题1、ImportError: cannot import name 'six' from 'django.utils'

解决:在site-packages目录中找到six.py文件,将其复制到django/utils目录下。

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

File "D:\Python310\.virtualenv\Wuwuchong\Lib\site-packages\xadmin\models.py", line 11, in <module>
      from django.utils.encoding import python_2_unicode_compatible, smart_text
ImportError: cannot import name 'python_2_unicode_compatible' from 'django.utils.encoding'

alt text
解决:将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

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

File "D:\Python310\.virtualenv\Wuwuchong\Lib\site-packages\xadmin\utils.py", line 7, in <module>
      from django.forms.forms import pretty_name
ImportError: cannot import name 'pretty_name' from 'django.forms.forms'

alt text
解决:将 from django.forms.forms import pretty_name
注释掉并改为:

from django.utils import formats, six

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

File "D:\Python310\.virtualenv\Wuwuchong\Lib\site-packages\xadmin\utils.py", line 25, in <module>
    from django.contrib.staticfiles.templatetags.staticfiles import static
ModuleNotFoundError: No module named 'django.contrib.staticfiles.templatetags'

alt text
解决:将25行注释掉并改为:

from django.templatetags.static import static

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

File "D:\Python310\.virtualenv\Wuwuchong\Lib\site-packages\reversion\revisions.py", line 16, in <module>
    from django.utils.encoding import force_text, python_2_unicode_compatible
ImportError: cannot import name 'python_2_unicode_compatible' from 'django.utils.encoding'

alt text
解决:注释掉并改为:

from django.utils.encoding import force_text
from six import python_2_unicode_compatible

问题6、ModuleNotFoundError: No module named 'django.core.urlresolvers'

File "D:\Python310\.virtualenv\Wuwuchong\Lib\site-packages\reversion\admin.py", line 13, in <module>
    from django.core.urlresolvers import reverse
ModuleNotFoundError: No module named 'django.core.urlresolvers'

alt text
解决:注释掉并改为:
from django.urls import reverse

问题7、ImportError: cannot import name 'BoundField' from 'django.forms.forms'

File "D:\Python310\.virtualenv\Wuwuchong\Lib\site-packages\crispy_forms\utils.py", line 9, in <module>
    from django.forms.forms import BoundField
ImportError: cannot import name 'BoundField' from 'django.forms.forms'

alt text
解决:Django新版本BoundField位置移动了。注释掉并改为:
from django.forms.boundfield import BoundField

问题8、ImportError: cannot import name 'memoize' from 'django.utils.functional'

File "D:\Python310\.virtualenv\Wuwuchong\lib\site-packages\crispy_forms\compatibility.py", line 26, in <module>
    from django.utils.functional import memoize
ImportError: cannot import name 'memoize' from 'django.utils.functional'

alt text
解决:这个问题我没有找到解决办法,不过从前面看只要24行没有报错就不会走到这里来。
百度一下,发现在Django 3.2中,django.utils.lru_cache.lru_cache模块已经被移除,因为Django 3.2中不再使用LRU缓存,而是改用内置的标准库中的functools.lru_cache。
将24行注释掉并改为:

from functools import lru_cache

问题9、ModuleNotFoundError: No module named 'django.core.urlresolvers'

File "D:\Python310\.virtualenv\Wuwuchong\lib\site-packages\crispy_forms\helper.py", line 4, in <module>
    from django.core.urlresolvers import reverse, NoReverseMatch
ModuleNotFoundError: No module named 'django.core.urlresolvers'

alt text
解决:Django 3.x 版本reverse位置移动了,注释掉并改为:

from django.urls import reverse, NoReverseMatch

问题10、ImportError: cannot import name 'FieldDoesNotExist' from 'django.db.models.fields'

File "D:\Python310\.virtualenv\Wuwuchong\lib\site-packages\xadmin\plugins\filters.py", line 9, in <module>
    from django.db.models.fields import FieldDoesNotExist
ImportError: cannot import name 'FieldDoesNotExist' from 'django.db.models.fields'

alt text
解决:注释掉并改为:

from django.core.exceptions import FieldDoesNotExist

问题11、ImportError: cannot import name 'FieldDoesNotExist' from 'django.db.models'

File "D:\Python310\.virtualenv\Wuwuchong\lib\site-packages\xadmin\plugins\aggregation.py", line 1, in <module>
    from django.db.models import FieldDoesNotExist, Avg, Max, Min, Count, Sum
ImportError: cannot import name 'FieldDoesNotExist' from 'django.db.models'

alt text
解决:注释掉并改为:

from django.core.exceptions import FieldDoesNotExist
from django.db.models import Avg, Max, Min, Count, Sum

问题12、ModuleNotFoundError: No module named 'django.core.urlresolvers'

File "D:\Python310\.virtualenv\Wuwuchong\lib\site-packages\import_export\admin.py", line 16, in <module>
    from django.core.urlresolvers import reverse
ModuleNotFoundError: No module named 'django.core.urlresolvers'

alt text
解决:同问题9,注释掉并改为:

from django.urls import reverse

问题13、ImportError: cannot import name 'FieldDoesNotExist' from 'django.db.models.fields'

File "D:\Python310\.virtualenv\Wuwuchong\lib\site-packages\import_export\resources.py", line 15, in <module>
    from django.db.models.fields import FieldDoesNotExist
ImportError: cannot import name 'FieldDoesNotExist' from 'django.db.models.fields'

alt text
解决:同问题10,注释掉并改为:

from django.core.exceptions import FieldDoesNotExist

问题14、ImportError raised when trying to load 'crispy_forms.templatetags.crispy_forms_utils': cannot import name 'allow_lazy' from 'django.utils.functional'

File "D:\Python310\.virtualenv\Wuwuchong\lib\site-packages\django\template\backends\django.py", line 123, in get_package_libraries
    raise InvalidTemplateLibrary(
django.template.library.InvalidTemplateLibrary: Invalid template library specified. ImportError raised when trying to load 'crispy_forms.templatetags.crispy_forms_utils': cannot import name 'allow_lazy' from 'django.utils.functional'

解决1:需要修改site-packages\crispy_forms\templatetags\crispy_forms_utils.py文件第6行
alt text
修改为:

from django.utils.functional import keep_lazy

解决2:同一个文件下,第20行,导入错误问题
alt text
修改为:

remove_spaces = keep_lazy(remove_spaces, text_type)

问题15、TypeError: WidgetTypeSelect.render() got an unexpected keyword argument 'renderer'

File "D:\Python310\.virtualenv\Wuwuchong\lib\site-packages\django\forms\boundfield.py", line 93, in as_widget
    return widget.render(
TypeError: WidgetTypeSelect.render() got an unexpected keyword argument 'renderer'

问题发生原因:进入xadmin后台,点击右上角增加用户小组件时,会报错
解决:查看虚拟环境下:Lib\site-packages\xadmin\views\dashboard.py,把97行注释掉即可,如下:
alt text

标签:name,遇到,ImportError,utils,django,forms,import,Django3.2,xadmin2
From: https://www.cnblogs.com/JulyCancer/p/18194163

相关文章

  • 学习imx6dl遇到的困难总结 持续更新 很痛也很傻
    最近进了新公司开始鼓捣imx6,虽然说之前弄过imx8的应用层,但是底层移植完全不一样简直太无助了。首先介绍下故事背景,拿到一个imx6dl的板子,是基于飞凌的板子改的。网上资料又少,一无所知的我开始了踩坑之路。拿到板子和一套飞凌板子送的源码,本以为是简单的uboot移植,还是厂家给的代码......
  • ubuntu linux安装MySQL后遇到的一些问题和解决方法
    Ubuntulinux安装MySQL后遇到的一些问题和解决方法版本信息ubuntu:Ubuntu24.04mysql:Ver8.0.36-2ubuntu3forLinuxonx86_64((Ubuntu))登陆安装后直接sudomysql就可以登陆分析为什么可以不用sudomysql-uroot-p呢?原因有三点直接执行mysql命令它是可以根据......
  • .net 开发中遇到的一些问题
    .Net开发中遇到的一些坑1、Asp.netCore项目打包成docker镜像时,出现***xx.csproj未找到错误大概率是因为当前执行的目录不在sln目录,切换到sln目录就可以了2、编译Docker镜像时,出现Determiningprojectstorestore...errorNU1301:Unabletoloadtheserviceind......
  • git多人开发常常遇到的情况之一
    git开发过程中常常遇到冲突冲突的原因项目分支master生产环境发版使用分支uat(同master)预发版分支与master同步dev测试环境发版使用分支feature_功能开发分支hotfix_bug开发分支平时开发过程先拉到uat创建feature_或hotfix_分支开发完......
  • 【专题】展望人工智能银行:当银行遇到AI报告PDF合集分享(附原数据表)
    原文链接:http://tecdat.cn/?p=32210在2016年,AlphaGo机器人打败了18届世界棋王李世石,成为了世界棋坛上最伟大的人物。阅读原文,获取专题报告全文,解锁154份文末人工智能银行相关报告。围棋是一种非常复杂的棋类,它要求有很强的直觉,想像力和策略性的思考,而这一切在很长一段时间里都......
  • 用PHP连接postgreSQL时遇到的问题
    先说说我的环境的版本,apache是2.4的,postgreSQL为目前最新的16版本,php刚开始为7版本。第一个问题是PDO连接PostgreSQL报错,SCRAMauthenticationrequireslibpqversion10orabovein这个问题是libpq的版本过低,要版本10以上,(至于libpq是什么,我目前也不懂)后来我检查了php版本发......
  • hexo 博客插入本地图片时遇到的坑
    哈喽大家好,我是咸鱼。最近一直在折腾博客的事,说是hexo极易上手,我觉得只仅限于在安装部署的时候,随着对hexo的深入使用,发现遇到的问题还是挺多的。那今天来讲一下我在把本地图片插入到hexo博客文章中遇到的坑。遇到的问题这是我的hexo环境:hexo:7.2.0node:18.20.0np......
  • mac 创建React Native项目遇到的问题
    ReactNative创建项目遇到的问题1.创建项目时提示:⠧ProcessingtemplateUsageError:Thenearestpackagedirectory(/Users/huang/Documents/develop/RN/myRn)doesn'tseemtobepartoftheprojectdeclaredin/Users/huang.-If/Users/huangisn'tintendedtobe......
  • Python自动化测试中JSON数据处理遇到的错误
    在接口自动化测试领域,使用Excel管理测试数据是一种常见的做法。本文将分享一个实际案例,介绍在Python自动化测试框架中,如何从响应结果中提取所需数据,并探讨在处理JSON格式数据时遇到的一个典型问题及其解决方案。首先,让我们了解测试数据的基本格式。在Excel中,我们定义了一个名为ex......
  • 基于CodeMirror开发在线编辑器时遇到的问题及解决方案
    需求:实现json在线编辑并支持校验,基于此使用了CodeMirror在线编辑,jsonlint校验输入数据//package.json:"dependencies":{"codemirror":"^5.53.2","core-js":"^3.8.3","jsonlint":"^1.6.3","vu......