Ошибка реестра приложений Django 1.8

Версия Python: 2.7.10 Версия Django: 1.8 Среда: Виртуальная среда

Проблема: Всякий раз, когда я пытался запустить./manage.py runserver или shell, я получаю эту ошибку

"The translation infrastructure cannot be initialized before the "
 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."

Основываясь на некоторых ответах на некоторые связанные посты, я также проверил свой файл wsgi, и он обновил способ ссылки на приложение wsgi. Вот как выглядит мой файл wsgi:

import os

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "instant_reports.settings")

from django.core.wsgi import get_wsgi_application

application = get_wsgi_application()

Любая помощь / руководство по решению этой проблемы?

2 ответа

Ты использовал ugettext() в вашем коде? Измените это на ugettext_lazy().Цитирование официальной документации Django:

AppRegistryNotReady: это происходит, когда импорт конфигурации приложения или модуля моделей запускает код, который зависит от реестра приложения.

Например, ugettext() использует реестр приложений для поиска каталогов переводов в приложениях. Чтобы перевести во время импорта, вам нужно использовать ugettext_lazy(). (Использование ugettext () было бы ошибкой, потому что перевод происходил бы во время импорта, а не при каждом запросе в зависимости от активного языка.)

Вы должны использовать ленивый перевод в вашем settings.py и любой файл (views.py, models.py), которые могут быть импортированы, пока Django загружен.

Другие вопросы по тегам