#python #django
Вопрос:
Я только что открыл новый Djangoproject с v3.2 и попытался импортировать свои приложения, как обычно, когда получил неправильно настроенное исключение в одном из моих приложений.
Шаги:
- создайте и активируйте env, pip установите django (без номера версии по умолчанию v3.2 на данный момент)
- django-администратор проекта startproject
- проект mkdirприложения, проект mkdirприложенияядро
- django-администратор основного проекта startappприложенияядро
- при необходимости перенесите
- Перейдите в настройки и добавьте «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
coreapps.py
class CoreConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'core'
Поле auto_field кажется новым, поскольку оно не было интегрировано в более ранние версии, однако это не должно повлиять на импорт, если я правильно это понимаю.
Я вернулся к версии v3.1.3, чтобы проверить, не пошло ли что-то еще не так, но при таком подходе это работает нормально.
У кого-нибудь есть такие же проблемы или есть решение?
Спасибо
Ответ №1:
Я столкнулся с той же проблемой, также в приложении с именем apps.core
(совпадение).
С 3.1/3.2 вы должны полностью указать имя:
class CoreConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'apps.core'
Похоже, это работает и для версии 3.0.