Django 3.2 异常:django.core.exceptions.ImproperlyConfigured
Django 3.2 exception: django.core.exceptions.ImproperlyConfigured
我正在升级到 django 3.2,但根据它的发行说明,它说:
The SECRET_KEY setting is now checked for a valid value upon first
access, rather than when settings are first loaded. This enables
running management commands that do not rely on the SECRET_KEY without
needing to provide a value. As a consequence of this, calling
configure() without providing a valid SECRET_KEY, and then going on to
access settings.SECRET_KEY will now raise an ImproperlyConfigured
exception.
错误: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 路径。由于您似乎在 apps
模块中包含 users
,因此您应该使用 '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 现在设法自动找到该应用程序。
如果您的 Django 应用程序位于(app
、apps
、applications
等文件夹中,则必须在 [=24] 中指定绝对路径=.py 文件添加到 name
属性,见下图。
在这张图片上,我的 users
(1) 应用程序位于 app
文件夹中,这就是为什么必须使用 app.users
(3), (4).
我正在升级到 django 3.2,但根据它的发行说明,它说:
The SECRET_KEY setting is now checked for a valid value upon first access, rather than when settings are first loaded. This enables running management commands that do not rely on the SECRET_KEY without needing to provide a value. As a consequence of this, calling configure() without providing a valid SECRET_KEY, and then going on to access settings.SECRET_KEY will now raise an ImproperlyConfigured exception.
错误: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 路径。由于您似乎在 apps
模块中包含 users
,因此您应该使用 '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 现在设法自动找到该应用程序。
如果您的 Django 应用程序位于(app
、apps
、applications
等文件夹中,则必须在 [=24] 中指定绝对路径=.py 文件添加到 name
属性,见下图。
在这张图片上,我的 users
(1) 应用程序位于 app
文件夹中,这就是为什么必须使用 app.users
(3), (4).