python - 获取 检查 'apps.ChatbotConfig.name' 是否正确。重组后

标签 python django python-3.x

我通过在 src 文件夹中添加所有内容来更改项目结构,但我的服务器停止工作。

我收到的错误是:

Cannot import 'chatbot'. Check that 'apps.ChatbotConfig.name' is correct

我尝试寻找答案,大多数人建议将 apps.py 更改为 name = 'src.chatbot',但这并没有不适合我。尝试更改 apps.ChatbotConfig.name 但如果我更改任何内容,它会显示没有名为“chatbot”的模块

这是我的结构。

[project structure

基础.py

DJANGO_APPS = [
    "apps.ChatbotConfig",
    "django.contrib.auth",
    "django.contrib.contenttypes",
    "django.contrib.sessions",
    "django.contrib.sites",
    "django.contrib.messages",
    # "django.contrib.humanize", # Handy template tags
    "django.contrib.admin",
    "debug_toolbar",
    'django.contrib.staticfiles',

]

应用程序.py

from django.apps import AppConfig


class ChatbotConfig(AppConfig):
    name = 'chatbot'

管理.py

from django.contrib import admin
from django.apps import apps

app = apps.get_app_config('chatbot')

for model_name, model in app.models.items():
    admin.site.register(model)

完整回溯

Traceback (most recent call last):
  File "C:\Users\lbajarunas\virtualenv\lib\site-packages\django\apps\config.py", line 143, in create
    app_module = import_module(app_name)
  File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'chatbot'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "manage.py", line 30, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Users\lbajarunas\virtualenv\lib\site-packages\django\core\management\__init__.py", line 371, in execute_from_command_line
    utility.execute()
  File "C:\Users\lbajarunas\virtualenv\lib\site-packages\django\core\management\__init__.py", line 347, in execute
    django.setup()
  File "C:\Users\lbajarunas\virtualenv\lib\site-packages\django\__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "C:\Users\lbajarunas\virtualenv\lib\site-packages\django\apps\registry.py", line 89, in populate
    app_config = AppConfig.create(entry)
  File "C:\Users\lbajarunas\virtualenv\lib\site-packages\django\apps\config.py", line 147, in create
    app_name, mod_path, cls_name,
django.core.exceptions.ImproperlyConfigured: Cannot import 'chatbot'. Check that 'apps.ChatbotConfig.name' is correct.

最佳答案

通过更改manage.py 文件设法解决了我的问题。修复了 main() 中的路径。

来自:

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.local")

致:

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "projectname.config.settings.local")

关于python - 获取 检查 'apps.ChatbotConfig.name' 是否正确。重组后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57919393/

相关文章:

python - Django 管理没有错误 - 隐藏高级查找部分

Django 如何动态查找字段

django - Redis+Docker+Django - 错误111连接被拒绝

python - Chu-Liu Edmond 的有向图最小生成树算法

python - 将 input$variable 的值作为 Rshiny 中的参数传递给外部脚本调用

python - 如何获取列表值的索引以及用户输入要选择的值

python - 如何使用列表中的数字作为 Python 字典的键?

python - PyPDF2 尝试提取第一页时返回空白页

python - 找到单词中最常见的字母;按字母顺序

python - 'form'的值必须继承自 'BaseModelForm'