Django 3.2中的导入结构发生了变化?

2024-07-04 07:12:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚刚用v3.2打开了一个新的Django项目,并尝试像往常一样导入我的应用程序,但我的一个应用程序出现了配置不当的异常

步骤:

  1. 创建并激活env,pip install django(没有版本号,目前默认为v3.2)
  2. django管理启动项目
  3. mkdir项目\apps,mkdir项目\apps\core
  4. django admin startapp核心项目\apps\core
  5. 如有必要,迁移
  6. 转到“设置”并将“apps.core”添加到已安装的应用

结果,当尝试运行服务器时

\lib\site-packages\django\apps\config.py", line 246, in create
raise ImproperlyConfigured(
django.core.exceptions.ImproperlyConfigured: Cannot import 'core'. Check that 
'apps.core.apps.CoreConfig.name' is correct.

结构

-- project
  -- apps
    -- core
      -- apps.py
  -- project
  -- manage.py

core\apps.py

class CoreConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'core'

auto_字段似乎是新的,因为它没有集成在早期版本中,但是如果我理解正确,这不应该影响导入

我返回到v3.1.3以检查是否有其他问题,但这种方法工作正常

是否有人有相同的问题或解决方案

谢谢


Tags: apps项目djangonamepycoreenvproject
1条回答
网友
1楼 · 发布于 2024-07-04 07:12:56

我在一个名为apps.core(巧合)的应用程序中遇到了同样的问题

使用3.1/3.2,您需要完全限定名称:

class CoreConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'apps.core'

似乎也适用于3.0

相关问题 更多 >

    热门问题