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