鼠扑 发表于 2024-5-20 07:21:04

Django3.2使用xadmin2遇到的题目

使用xadmin2遇到的题目&解决

环境配置:

使用的模块版本:
https://img2023.cnblogs.com/blog/3162793/202405/3162793-20240515163456713-2130694606.png
关联的包

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/django2xadmin下载链接:
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'https://img2023.cnblogs.com/blog/3162793/202405/3162793-20240515165304088-1978989253.png
解决:将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'https://img2023.cnblogs.com/blog/3162793/202405/3162793-20240515165524925-2142839201.png
解决:将 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'https://img2023.cnblogs.com/blog/3162793/202405/3162793-20240515165838108-467550553.png
解决:将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'https://img2023.cnblogs.com/blog/3162793/202405/3162793-20240515165838670-1410612705.png
解决:解释掉并改为:
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'https://img2023.cnblogs.com/blog/3162793/202405/3162793-20240515170507575-1883730713.png
解决:解释掉并改为:
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'https://img2023.cnblogs.com/blog/3162793/202405/3162793-20240515170507953-2120287911.png
解决: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'https://img2023.cnblogs.com/blog/3162793/202405/3162793-20240515170508326-212939880.png
解决:这个题目我没有找到解决办法,不外从前面看只要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'https://img2023.cnblogs.com/blog/3162793/202405/3162793-20240515170508678-1680666808.png
解决: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'https://img2023.cnblogs.com/blog/3162793/202405/3162793-20240515170509003-1383222011.png
解决:解释掉并改为:
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'https://img2023.cnblogs.com/blog/3162793/202405/3162793-20240515170509331-152887756.png
解决:解释掉并改为:
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'https://img2023.cnblogs.com/blog/3162793/202405/3162793-20240515170509652-1266172787.png
解决:同题目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'https://img2023.cnblogs.com/blog/3162793/202405/3162793-20240515170510010-1405045338.png
解决:同题目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行
https://img2023.cnblogs.com/blog/3162793/202405/3162793-20240515170510372-900677816.png
修改为:
from django.utils.functional import keep_lazy解决2:同一个文件下,第20行,导入错误题目
https://img2023.cnblogs.com/blog/3162793/202405/3162793-20240515170510742-1438322757.png
修改为:
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行解释掉即可,如下:
https://img2023.cnblogs.com/blog/3162793/202405/3162793-20240515170511067-306140864.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Django3.2使用xadmin2遇到的题目