2017-02-21 7 views
-1

У меня есть один Джанго 1,9 развертывание, которые часто получает эту ошибку:Джанго: ImportError: Нет модуль с именем context_processors

Internal Server Error: 
Traceback (most recent call last): 
    File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py", line 174, in get_response 
    response = self.process_exception_by_middleware(e, request) 
    File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py", line 172, in get_response 
    response = response.render() 
    File "/usr/lib/python2.7/site-packages/django/template/response.py", line 160, in render 
    self.content = self.rendered_content 
    File "/usr/lib/python2.7/site-packages/django/template/response.py", line 137, in rendered_content 
    content = template.render(context, self._request) 
    File "/usr/lib/python2.7/site-packages/django/template/backends/django.py", line 95, in render 
    return self.template.render(context) 
    File "/usr/lib/python2.7/site-packages/django/template/base.py", line 204, in render 
    with context.bind_template(self): 
    File "/usr/lib64/python2.7/contextlib.py", line 17, in __enter__ 
    return self.gen.next() 
    File "/usr/lib/python2.7/site-packages/django/template/context.py", line 256, in bind_template 
    processors = (template.engine.template_context_processors + 
    File "/usr/lib/python2.7/site-packages/django/utils/functional.py", line 33, in __get__ 
    res = instance.__dict__[self.name] = self.func(instance) 
    File "/usr/lib/python2.7/site-packages/django/template/engine.py", line 105, in template_context_processors 
    return tuple(import_string(path) for path in context_processors) 
    File "/usr/lib/python2.7/site-packages/django/template/engine.py", line 105, in <genexpr> 
    return tuple(import_string(path) for path in context_processors) 
    File "/usr/lib/python2.7/site-packages/django/utils/module_loading.py", line 20, in import_string 
    module = import_module(module_path) 
    File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module 
    __import__(name) 
ImportError: No module named context_processors 

Вот мой список ШАБЛОНОВ:

TEMPLATES = [ 
    { 
     'BACKEND': 'django.template.backends.django.DjangoTemplates', 
     'DIRS': [os.path.join(BASE_DIR, 'motor/ui/templates')], 
     'APP_DIRS': True, 
     'OPTIONS': { 
      'context_processors': [ 
       'django.template.context_processors.debug', 
       'django.template.context_processors.request', 
       'django.contrib.auth.context_processors.auth', 
       'django.contrib.messages.context_processors.messages', 
       'context_processors.config', 
       'ui.context_processors.navigation', 
       'core.appmngr.context_processor', 
      ], 
     }, 
    }, 
] 

И мои MIDDLEWARE_CLASSES:

MIDDLEWARE_CLASSES = [ 
    'django.middleware.security.SecurityMiddleware', 
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'django.middleware.common.CommonMiddleware', 
    'django.middleware.csrf.CsrfViewMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 
    'django.contrib.messages.middleware.MessageMiddleware', 
    'django.middleware.clickjacking.XFrameOptionsMiddleware', 
    'middleware.LastSiteUrl', 
] 

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

+0

Вы уверены, что его работа с правильной версией django? похоже, что вы забыли активировать свой виртуальный env или что-то еще ... – HassenPy

+0

внутри TEMPLATES: '' context_processors.config ', '- у вас есть приложение, называемое так? – dahrens

+0

@ HassenPy да, он работает 1,9, это не виртуальный env –

ответ

0

в ваших шаблонах см. Выше изменение core.appmngr.context_processor, context_processors были перемещены из ядра в шаблон.

'template.appmngr.context_processor', 

это может сработать для вас. читать далее here

+0

'core.appmngr' в моем проекте, а не в django –

+0

переименовать ядро ​​на что-то еще, так как модуль django уже использует имя ядра. – Phares

+0

Я мог бы попробовать это, но модуль django вообще не ссылается. Также файлы в core/.... указаны в 287 местах в моем проекте. Я действительно не хочу делать много изменений, если это не проблема. Так что, если 'django.core.appmngr.context_processor' никогда не ссылается, почему проблема с моим« core.appmngr.context_processor »будет проблемой? –