2017-02-21 157 views
-1

我有一個Django的1.9部署中經常收到此錯誤:Django的:導入錯誤:沒有模塊名爲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版本嗎?它看起來像你忘了激活你的虛擬環境或東西...... – HassenPy

+0

模板內:''context_processors.config',' - 你有一個應用程序叫這樣嗎? – dahrens

+0

@HassenPy是的,它運行的是1.9,它不是虛擬環境 –

回答

0

在您的模板中,如上所述更改core.appmngr.context_processor, context_processors已從核心移至模板。

'template.appmngr.context_processor', 

這可能適合你。閱讀更多here

+0

'core.appmngr'在我的項目中,不是django –

+0

的一部分,因爲django模塊已經在使用名稱核心,所以將核心重命名爲其他內容。 – Phares

+0

我可以試試,但是django模塊根本沒有被引用。此外,核心文件/ ....在我的項目中引用了287個地方。如果這不是真的問題,我真的不想做那麼多的改變。因此,如果'django.core.appmngr.context_processor'從未被引用,爲什麼會有我自己的'core.appmngr.context_processor'成爲問題? –

相關問題