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 错误。
添加回答
举报