Подтвердить что ты не робот

Модуль "django.core.context_processors" не определяет обработчик запросов "auth"

У меня есть веб-сайт Django live, я хочу сделать какое-то обслуживание, но когда я скачал его и попытался открыть его с моей локальной машины, и мой режим отладки верен Я столкнулся с этой ошибкой:

ImproperlyConfigured at /

Module "django.core.context_processors" does not define a "auth" callable request processor

Я использую Python 2.5

Буду благодарен за любую помощь.

4b9b3361

Ответ 1

Похоже, вы обновились до Django 1.4 или новее.

Обработчик контекстного контекста был перенесен с django.core.context_processors.auth на django.contrib.auth.context_processors.auth. Этот шаг начался в Django 1.2, а django.core.context_processors.auth был полностью удален в Django 1.4.

Я рекомендую вам запустить ту же версию Django в своих dev и производственных средах, чтобы предотвратить такие ошибки.

При обновлении до Django 1.4 вам необходимо внести следующее изменение в TEMPLATE_CONTEXT_PROCESSORS в файле настроек:

# old
TEMPLATE_CONTEXT_PROCESSORS = ("django.core.context_processors.auth",
                               ...
)
# new
TEMPLATE_CONTEXT_PROCESSORS = ("django.contrib.auth.context_processors.auth",
                               ...
)

При переносе примечания к выпуску (1.2, 1.3, 1.4) полезны для обнаружения таких изменений.

Ответ 2

Сначала проверьте версию Django:

зайдите в свое приложение и запустите

$./manage.py shell
import django
django.get_version()

В Django > 1.4 удаленная ранее устаревшая настройка DATABASE_ENGINE удаляется. (Это отклонение/удаление типа tic/toc-cycle типично для проекта Django.)

Я использую следующий код для исправления устаревших скриптов, которые по некоторым причинам должны быть устаревшими...

    if not ((hasattr(settings, 'DATABASE_ENGINE') and (settings.DATABASES['default']['ENGINE'] or 'ENGINE' in [x for y in settings.DATABASES.itervalues() for x in y]))):
      try:
        setattr(settings, 'DATABASE_ENGINE', settings.DATABASES['default']['ENGINE'])
      except:
        raise Exception('No default ENGINE set in settings.DATABASES!')

Надеюсь, что это поможет.