【发布时间】:2023-03-27 23:17:01
【问题描述】:
我正在尝试一个示例 django 应用程序。我在 view.py 中添加了一些更改并尝试运行 migrate 但它给出了以下错误 -
athakur@athakur-Inspiron-7560:~/Documents/per_code/djangodemo$ python3 manage.py check
Traceback (most recent call last):
File "/home/athakur/.local/lib/python3.5/site-packages/django/apps/config.py", line 143, in create
app_module = import_module(app_name)
File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 986, in _gcd_import
File "<frozen importlib._bootstrap>", line 969, in _find_and_load
File "<frozen importlib._bootstrap>", line 956, in _find_and_load_unlocked
ImportError: No module named 'testApp123'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "manage.py", line 15, in <module>
execute_from_command_line(sys.argv)
File "/home/athakur/.local/lib/python3.5/site-packages/django/core/management/__init__.py", line 371, in execute_from_command_line
utility.execute()
File "/home/athakur/.local/lib/python3.5/site-packages/django/core/management/__init__.py", line 347, in execute
django.setup()
File "/home/athakur/.local/lib/python3.5/site-packages/django/__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "/home/athakur/.local/lib/python3.5/site-packages/django/apps/registry.py", line 89, in populate
app_config = AppConfig.create(entry)
File "/home/athakur/.local/lib/python3.5/site-packages/django/apps/config.py", line 147, in create
app_name, mod_path, cls_name,
django.core.exceptions.ImproperlyConfigured: Cannot import 'testApp123'. Check that 'djangodemo.apps.testapp.apps.TestAppConfig.name' is correct.
package 是正确的,因为如果我将 TestAppConfig 类中的名称更改为 testApp,它会显示 ImportError: No module named 'testApp'。
还有以下作品-
athakur@athakur-Inspiron-7560:~/Documents/per_code/djangodemo$ python3
Python 3.5.2 (default, Nov 23 2017, 16:37:01)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from djangodemo.apps.testapp.apps import TestAppConfig
>>> TestAppConfig.name
'testApp123'
知道为什么我运行任何 manage.py 命令时它仍然失败吗?
目录结构是-
djangodemo/
├── apps
│ ├── __init__.py
│ ├── __pycache__
│ │ └── __init__.cpython-35.pyc
│ └── testapp
│ ├── admin.py
│ ├── apps.py
│ ├── __init__.py
│ ├── migrations
│ │ └── __init__.py
│ ├── models.py
│ ├── __pycache__
│ │ ├── apps.cpython-35.pyc
│ │ ├── __init__.cpython-35.pyc
│ │ ├── urls.cpython-35.pyc
│ │ └── views.cpython-35.pyc
│ ├── tests.py
│ ├── urls.py
│ └── views.py
├── __init__.py
├── __pycache__
│ ├── __init__.cpython-35.pyc
│ ├── settings.cpython-35.pyc
│ ├── urls.cpython-35.pyc
│ └── wsgi.cpython-35.pyc
├── settings.py
├── urls.py
└── wsgi.py
【问题讨论】:
-
通常是因为您的环境中设置的路径错误。它在
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djangodemo.settings")中的manage.py中定义。首先检查一下。 -
@Borut 这是正确的,因为我在 settings.py 中添加了一些打印语句并且它工作正常。
-
testApp123 不存在!当我在你的树上寻找时,我没有看到它
-
@rakwen 它在 apps.py 的类中 -
class TestAppConfig(AppConfig): name = 'testApp123' -
你用的django的女巫版本?你在哪里拿 djangodemo ?
标签: django python-3.x