Исключение 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. Может ли кто-нибудь помочь мне решить эту проблему? Как я могу проверить, действителен ли мой секретный ключ, а также при необходимости сгенерировать новый?
4 ответа
Я не думаю, что ваша ошибка напрямую связана с этим
SECRET_KEY
измените свой вопрос.
AppConfig.name
должен быть полный путь Python к приложению. Поскольку у вас, похоже, есть
users
внутри
apps
модуль, вы должны использовать
'apps.users'
вместо
'users'
class UsersConfig(AppConfig):
name = 'apps.users'
Если ваши приложения django находятся в папке типа (,
apps
,
applications
и т. д.), вы должны указать абсолютный путь в вашем файле app_name/apps.py к
name
атрибут, см. изображение ниже.
На этом изображении мой
users
(1) приложение находится в
app
папка, поэтому нужно использовать
app.users
(3), (4).
I am having this issue suddenly with Django 3.2. Why now I am not exactly sure, but adding this to my settings.py file fixed it for me. I need to understand the structural issue causing this. It might be because our Django project contains many apps grouped together.
AppConfig.default = False
https://docs.djangoproject.com/en/3.2/ref/applications/#django.apps.AppConfig.default
Решением для меня было просто удалить
apps.py
файл полностью - теперь Django удалось найти приложение автоматически.