Django3.2安裝源碼xadmin2步驟以及遇到的問題

来源:https://www.cnblogs.com/JulyCancer/p/18194163
-Advertisement-
Play Games

使用xadmin2遇到的問題&解決 環境配置: 使用的模塊版本: 關聯的包 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-r ...


使用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


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本系列深入分析編譯器對於C++虛函數的底層實現,最後分析C++在多態的情況下的性能是否有受影響,多態究竟有多大的性能損失。 ...
  • docker網路規劃 docker network create kafka-net --subnet 172.20.0.0/16 docker network ls zookeeper1(172.20.0.11 2184:2181) zookeeper2(172.20.0.12 2185:2181 ...
  • 距離golang 1.23發佈還有兩個月不到,按照慣例很快要進入1.23的功能凍結期了。在凍結期間不會再添加新功能,已經添加的功能不出大的意外一般也不會被移除。這正好可以讓我們提前嘗鮮這些即將到來的新特性。 今天要說的就是1.23中對//go:linkname指令的變更。這個新特性可以說和我的一次失 ...
  • 目錄條款26:儘可能延後變數定義式的出現時間(Postpone variable definitions as long as possible)條款27:儘量少做轉型動作(Minimize casting)條款28:避免返回handles指向對象內部成分(Avoid returning “hand ...
  • 營業執照識別介面是一種通過API實現的功能,可以對不同版式的營業執照進行識別,提取其中的證件編號、社會信用代碼、單位名稱、地址、法人、類型、成立日期、有效日期、經營範圍等關鍵欄位。這個功能在很多場景下都可以發揮作用,比如在企業註冊、信用查詢、合作伙伴選擇等方面。 首先,我們需要瞭解API是什麼。AP ...
  • @Autowired是Spring框架提供的註解,@Resource是Java EE 5規範提供的註解。 @Autowired預設按照類型自動裝配,而@Resource預設按照名稱自動裝配。 @Autowired支持@Qualifier註解來指定裝配哪一個具有相同類型的bean,而@Resourc... ...
  • 後端應用級開發者該如何擁抱 AI GC?就是在這樣的一個大的浪潮下,我們的傳統的應用級開發者。我們該如何選擇職業或者是如何去快速轉型,跟上這樣的一個行業的一個浪潮? 0 AI金字塔模型 越往上它的整個難度就是職業機會也好,或者說是整個的這個運作也好,它的難度會越大,然後越往下機會就會越多,所以這是一 ...
  • 今天我打算整點兒不一樣的內容,通過之前學習的TransformerMap和LazyMap鏈,想搞點不一樣的,所以我關註了另外一條鏈DefaultedMap鏈,主要調用鏈為: 調用鏈詳細描述: ObjectInputStream.readObject() DefaultedMap.readObject ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...