Django3.2使用xadmin2遇到的问题

news/2024/9/8 6:35:24

使用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_librariesraise 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_widgetreturn widget.render(
TypeError: WidgetTypeSelect.render() got an unexpected keyword argument 'renderer'

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/32011.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

NSSCTF round#22逆向

NSSCTF round#22逆向1.wp要及时写不然忘光光 2.赛题分文件夹放ezcrypt 下载下来是python打包的exe,解包出pyc用pycdc反编译看一下嗯不认识BEFORE_WITH命令。丢到gpt4o里看看还蛮准确的,和作者提供的源码一样。不过对填充的处理不对,原程序是填充\x00。不过比自己硬看好太多了…

蓝桥杯-外卖店优先级(简单写法)

“饱了么”外卖系统中维护着 N 家外卖店,编号 1∼N。 每家外卖店都有一个优先级,初始时 (0 时刻) 优先级都为 0。 每经过 1 个时间单位,如果外卖店没有订单,则优先级会减少 1,最低减到 0;而如果外卖店有订单,则优先级不减反加,每有一单优先级加 2。 如果某家外卖店某时…

【转载】高可用(HA)集群之pacemaker+corosync

转载地址:https://blog.51cto.com/liheng1815/5637598 高可用(HA)集群之pacemaker+corosync方案0x00 概念 在传统Linux集群种类中,主要分了三类: ​ 一类是LB(负载均衡)集群,这类集群的作用是对用户流量做负载均衡,让其后端每个real-server都能均衡的处理一部分请求;…

Android系统启动流程

在Android中系统的启动流程是一个经常会被问到的问题,那么下面我们通过一张图来说明一下 从上面的图片中可以看到它的一个启动流程. 1.BootLoader首先,当我们点击电源开关后,引导芯片代码开始从预定义的地方(固化在ROM)开始执行。加载引导程序到RAM,然后执行,这时执行的就是…

Linux-文件特殊权限

day13今日安排默写昨日作业讲解文件权限篇综合知识脑图特殊权限(了解)linux提供的12个特殊权限 默认的9位权限 rwx rwx rwx还有三个隐藏的特殊权限,如下 suid 比如 /usr/bin/passwdsgidsbit 特殊权限对照表类别 suid sgid sticky字符表示 S S T出现位置 用户权限位x 用户组…

Golang初学:文件操作,标准库

go version go1.22.1 windows/amd64 Windows 11 + amd64 x86_64 x86_64 GNU/Linux ---序章 读取文件内容,写入新文件(可能存在、也可能不存在)。相关标准库io fs os path filepath Show Code func CopyFile() {// 测试文件拷贝var fsrc, fdst stringvar start time.Timefsr…

OpenPCDet训练自定义数据

官网也提供了步骤,这里详细介绍下训练自己数据的过程以及中间遇到的一些问题。训练模型这里采用PointRCNN,具体的介绍参考:https://www.cnblogs.com/xiaxuexiaoab/p/18033887 一、准备数据集 数据集这一块我们需要准备好原始点云数据、物体目标标注文件、以及训练和验证对应…

PPO-KL散度近端策略优化玩cartpole游戏

其实KL散度在这个游戏里的作用不大,游戏的action比较简单,不像LM里的action是一个很大的向量,可以直接用surr1,最大化surr1,实验测试确实是这样,而且KL的系数不能给太大,否则惩罚力度太大,action model 和ref model产生的action其实分布的差距并不太大import gym impor…