更改了Django3.2中的导入结构?

我刚刚用 v3.2 打开了一个新的 Djangoproject 并尝试像往常一样导入我的应用程序,当我的一个应用程序出现 ImproperlyConfigured Exception 时。

脚步:

  1. 创建并激活 env,pip install django(目前没有版本号默认为 v3.2)
  2. django-admin startproject 项目
  3. mkdir 项目应用程序,mkdir 项目应用程序核心
  4. django-admin startapp core projectappscore
  5. 必要时迁移
  6. 转到设置并将“apps.core”添加到 INSTALLED_APPS

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

libsite-packagesdjangoappsconfig.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

核心应用程序.py

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

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

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

有没有人有同样的问题或有解决方案?

谢谢

回答

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

对于 3.1/3.2,您需要完全限定名称:

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

似乎也适用于 3.0。


以上是更改了Django3.2中的导入结构?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>