Python 将Django应用程序添加到已安装的应用程序和can';不迁移
我正在尝试将VisualStudio用于我的Django项目。我的visual studio版本是2017,Python版本是3.6,Django版本是1.1.18。 然后我将其升级到2.1.5。我制作一个应用程序,然后将其添加到已安装的应用程序中。但当我迁移项目时,会出现以下错误:Python 将Django应用程序添加到已安装的应用程序和can';不迁移,python,django,visual-studio,Python,Django,Visual Studio,我正在尝试将VisualStudio用于我的Django项目。我的visual studio版本是2017,Python版本是3.6,Django版本是1.1.18。 然后我将其升级到2.1.5。我制作一个应用程序,然后将其添加到已安装的应用程序中。但当我迁移项目时,会出现以下错误: Traceback (most recent call last): File "E:\Django_Try\Test4\Test4\manage.py", line 17, in <module>
Traceback (most recent call last):
File "E:\Django_Try\Test4\Test4\manage.py", line 17, in <module>
execute_from_command_line(sys.argv)
File "E:\Django_Try\Test4\Test4\env\lib\site-packages\django\core\management\__init__.py", line 381, in execute_from_command_line
utility.execute()
File "E:\Django_Try\Test4\Test4\env\lib\site-packages\django\core\management\__init__.py", line 357, in execute
django.setup()
File "E:\Django_Try\Test4\Test4\env\lib\site-packages\django\__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "E:\Django_Try\Test4\Test4\env\lib\site-packages\django\apps\registry.py", line 89, in populate
app_config = AppConfig.create(entry)
File "E:\Django_Try\Test4\Test4\env\lib\site-packages\django\apps\config.py", line 90, in create
module = import_module(entry)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\lib\importlib\__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'saeed'
The interactive Python process has exited.
The interactive Python process has exited.
>>>
它似乎无法识别我的应用程序
请通知我
Saeed编辑:看起来您已将主/基本应用程序(包含
settings.py
)从Test4
重命名为Saeed
。您不需要在Django项目中注册基本应用程序,因为它已经是程序的入口点。看起来您的settings.py
文件的其余部分是为被称为Test4
的基本应用程序而配置的,而不是saeed
(例如,您可以通过ROOT\u URLCONF='Test4.url'
来判断)。您可以阅读更多关于Django中的项目和应用程序的信息
由于基本应用程序与项目共享相同的名称是常见的做法,因此我建议将saeed
目录(back)的名称更改为Test4
如果要创建新应用,可以运行:
python manage.py startapp saeed
因此,您的项目文件结构将如下所示:
Test4/ # project directory
saeed/ # your app
migrations/
models.py
apps.py
Test4/ # base app for the site
settings.py
urls.py
manage.py
requirements.txt
然后将模型放入saeed
而不是Test4
。因此,您的项目目录Test4/
,将包含Test4/
、saeed/
和manage.py
,以及其他内容。创建此新应用程序后,以下操作将起作用:
原始答案:
确保您的saeed/apps.py
配置正确,例如:
# saeed/apps.py
from django.apps import AppConfig
class SaeedConfig(AppConfig):
name = "saeed"
verbose_name = "Saeed"
然后,您需要将“设置”中的“已安装的应用程序”中的该行从“saeed”更改为
"saeed.apps.SaeedConfig"
有关这方面的更多信息,请参阅。我认为,这是不正确的文件位置层次结构 例如,应该是这样
project
mysite
settings.py
...
saeed
makemigrations
models.py
apps.py
...
manage.py
您是否已经完成了到2.1.5的迁移,或者这就是您现在正在做的事情?请共享您的Test4目录结构。您是说我共享安装文件?或者其他事情?你能解释更多关于我共享的内容吗?请共享你的目录结构和你的
设置.py
,但我仍然得到相同的错误!!Django无法识别新应用@你能分享你的文件结构吗?你提供的链接似乎没有显示任何东西。我改变了它:请让我知道你的想法。我还可以共享我的文件。@S.pdl好的,我已经解决了这个问题并更新了我的答案。您可以下载该项目:但这是visual studio为Django文件制作的默认文件结构!!
project
mysite
settings.py
...
saeed
makemigrations
models.py
apps.py
...
manage.py