Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将Django应用程序添加到已安装的应用程序和can';不迁移_Python_Django_Visual Studio - Fatal编程技术网

Python 将Django应用程序添加到已安装的应用程序和can';不迁移

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>

我正在尝试将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>
    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