如何解决Django 3.2 异常:django.core.exceptions.ImproperlyConfigured
我正在升级到 django 3.2,但根据它的发行说明,它说:
现在首先检查 SECRET_KEY 设置的有效值 访问,而不是在第一次加载设置时。这使 运行不依赖于 SECRET_KEY 的管理命令 需要提供一个值。因此,调用 configure() 而不提供有效的 SECRET_KEY,然后继续 访问 settings.SECRET_KEY 现在将引发 ImproperlyConfigured 例外。
错误:django.core.exceptions.ImproperlyConfigured: Cannot import 'users'. Check that 'apps.users.apps.UsersConfig.name' is correct.
用户 apps.py:
from django.apps import AppConfig
class UsersConfig(AppConfig):
name = 'users'
我认为这个错误是因为它与 django==3.1.7 一起工作。有人可以帮我解决这个问题吗?如何检查我的密钥是否有效并在需要时生成新密钥?
解决方法
我认为您的错误与您问题中的 SECRET_KEY
更改没有直接关系。
AppConfig.name
应该是应用程序的完整 Python 路径。由于您似乎在 users
模块中有 apps
,您应该使用 'apps.users'
而不是 'users'
class UsersConfig(AppConfig):
name = 'apps.users'
,
我在使用 Django 3.2 时突然遇到了这个问题。为什么现在我不确定,但是将它添加到我的 settings.py 文件中为我修复了它。我需要了解导致这种情况的结构性问题。可能是因为我们的 Django 项目包含许多组合在一起的应用。
from django.apps import AppConfig
AppConfig.default = False
https://docs.djangoproject.com/en/3.2/ref/applications/#django.apps.AppConfig.default
您也可以在应用级别单独设置。这可能是一个更好的解决方案。我仍然不明白为什么这是必要的。
from django.apps import AppConfig
class DashboardConfig(AppConfig):
name = 'dashboard'
default = False
,
我的解决方案是简单地完全删除 apps.py
文件 - Django 现在设法自动找到该应用程序。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。