Модуль "django.core.context_processors" не определяет обработчик вызываемых запросов "auth" - PullRequest
47 голосов
/ 19 сентября 2011

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

ImproperlyConfigured at /

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

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

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

Ответы [ 2 ]

95 голосов
/ 19 сентября 2011

Похоже, вы обновились до 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 в своей рабочей и рабочей среде, чтобы избежать подобных ошибок.

При обновлении до 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 ) полезны для отслеживания подобных изменений.

1 голос
/ 18 июля 2013

Сначала проверьте версию 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!')

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...