4 回答

TA貢獻2011條經驗 獲得超2個贊
您在此處的元組中創建了一個元組
INSTALLED_APPS = (
"app",
"Website",
#some more apps
"allauth.socialaccount.providers.ynab",
),
刪除我們得到INSTALLED_APPS = (),的與 相同的字符串INSTALLED_APPS = ((), ())。
根據文檔,您應該有一個列表,例如
INSTALLED_APPS = [
"app",
"Website",
#some more apps
"allauth.socialaccount.providers.ynab",
]
請注意,最后一行沒有逗號。
刪除我們現在得到的字符串INSTALLED_APPS = []。

TA貢獻1805條經驗 獲得超9個贊
在:
File "G:\Program Files (x86)\Microsoft Visual Studio\2019\Shared\Python37_64\lib\site-packages\django\__init__.py", > line 24, in setup
你可以找到:
apps.populate(settings.INSTALLED_APPS)
并在
> File "G:\Program Files (x86)\Microsoft Visual Studio\2019\Shared\Python37_64\lib\site-packages\django\apps\registry.py", > line 91, in populate
你可以找到:
> app_config = AppConfig.create(entry)
并在:
> File "G:\Program Files (x86)\Microsoft Visual Studio\2019\Shared\Python37_64\lib\site-packages\django\apps\config.py", > line 90, in create
你可以找到:
> module = import_module(entry)
并在:
> File "G:\Program Files (x86)\Microsoft Visual Studio\2019\Shared\Python37_64\lib\importlib\__init__.py", line 118, > in import_module
你可以找到:
> if name.startswith('.'):
但是 settings.INSTALLED_APPS 看起來不錯,你確定你仍然有這個錯誤嗎
當我在 INSTALLED_APPS 的定義之后添加一個 ',' 時,我能夠重現該問題
AttributeError: 'tuple' object has no attribute 'startswith'
請更換
INSTALLED_APPS = (),
到
INSTALLED_APPS = ()

TA貢獻1880條經驗 獲得超4個贊
INSTALLED_APPS 應該看起來像字符串元組:
INSTALLED_APPS = ("app1", "app2")
但是您在其中某處列出了清單,即:
INSTALLED_APPS = ("app1", ["app2"])
檢查https://docs.djangoproject.com/en/dev/ref/settings/#installed-apps

TA貢獻1784條經驗 獲得超7個贊
只是想添加我的解決方案,因為我也偶然發現了這個問題。它與代碼中的任何錯誤無關,但與 python 系統設置有關。能夠重現一個分支有錯誤而另一個沒有,盡管沒有代碼更改。通過改回系統 python 修復。之前,由于升級 python 時出現類似錯誤,我已經轉移到較低版本的 python。但是當我讓 brew 和 pyenv 見面時似乎已經修復了。以便他們之前沒有鏈接可能至少是我問題的根源,導致 py 和 depenedncy 不匹配?盡管沒有代碼錯誤,但最終導致了這個 endswith 錯誤。
添加回答
舉報