python - 更改了 Django 3.2 中的导入结构?
问题描述
我刚刚使用 v3.2 打开了一个新的 Djangoproject 并尝试像往常一样导入我的应用程序,当我在我的一个应用程序上遇到一个不正确配置的异常时。
脚步:
- 创建并激活 env,pip install django(没有版本号默认为 v3.2 目前)
- django-admin startproject 项目
- mkdir 项目\应用程序,mkdir 项目\应用程序\核心
- django-admin startapp 核心项目\apps\core
- 迁移,如有必要
- 转到设置并将“apps.core”添加到 INSTALLED_APPS
结果,当尝试运行服务器时
\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
核心\apps.py
class CoreConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'core'
auto_field 似乎是新的,因为它没有集成在早期版本中,但是,如果我理解正确的话,这应该不会影响导入。
我返回 v3.1.3 以检查是否有其他问题,但这种方法运行良好。
有没有人有同样的问题或有解决方案?
谢谢
解决方案
apps.core
我在一个名为(巧合)的应用程序上也遇到了同样的问题。
使用 Django >= 3.1,您需要完全限定名称:
class CoreConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'apps.core'
似乎也适用于 3.0。
推荐阅读
- android - 某些流的 Google Cast 速度很慢
- angular - 如何解决真实设备中的 CORS 问题?
- python - 无法标记多行 sns.catplot()
- c++ - 完美转发复制的 std::tuple
- scala - 使用 Intellij Idea Scala Spark 生成的工件 (.jar) 使用 spark-submit 抛出 ClassNotFoundException
- r - 将每隔一行作为 R 数据框中的特定列值进行操作
- laravel - 将数据从 PHP Twig 传递到 Vue 组件
- python - 不知道如何在 Windows 上安装这个 python 模块?
- javascript - 正则表达式捕获未使用多行选项解析的日志
- python - 用字符串中的字典值替换基于索引范围的子字符串