AppRegistryNotReady: The translation infrastructure cannot be initialized before the apps registry is ready
9 мая 2020 г. 2:56
В общем случае ошибка:
django.core.exceptions.AppRegistryNotReady: The translation infrastructure cannot be initialized before the apps registry is ready. Check that you don't make non-lazy gettext calls at import time.
говорит о том, что где-то происходит вызов неленивых функций перевода во время импорта пакетов. Другими словами, во время импорта перевод должен быть ленивым, то есть использоваться функция ugettext_lazy
(или pgettext_lazy
).
Например, в моделях нужно использовать ugettext_lazy
(вместо простого ugettext
):
from django.db import models from django.utils.translation import gettext_lazy as _ class MyModel(models.Model): title = models.CahrField(_('Title'))
Бывает по трейсбеку не понятно, где нужно поправить код, чтобы не возникала ошибка AppRegistryNotReady: The translation infrastructure cannot be initialized before the apps registry is ready
.
Например, однажды в моём случае локально собирался проект после обновления пакетов в виртуальном окружении, а на сервере после обновления пакетов возникала данная ошибка. Сравнив сборки виртуальных окружений через pip freeze
, обнаружилось, что на локальной машине устанавливается easy-thumbnails==2.6
, а на сервере easy-thumbnails==2.7
.
В requirements.txt
я указал версию, которая устанавливается на локальной машине, то есть easy-thumbnails==2.6
и тогда после сборки на сервере всё заработало. Скорее всего easy-thumbnails==2.7
не совместима с используемой версии Django==1.10.7
, которая была установлена на тот момент в моём приложении, хотя в документации easy-thumbnails пишется, что поддерживается версии Django 1.4 и 1.6 и выше.
Таким образом, если в одном месте работает, а в другом нет, то сравните, какие версии библиотек установлены через pip freeze
.
Представляю вашему вниманию книгу, написанную моим близким другом Максимом Макуриным: Секреты эффективного управления ассортиментом.
Книга предназначается для широкого круга читателей и, по мнению автора, будет полезна специалистам отдела закупок и логистики, категорийным и финансовым менеджерам, менеджерам по продажам, аналитикам, руководителям и директорам, в компетенции которых принятие решений по управлению ассортиментом.
Комментарии: 0