Django应用程序没有ImportError:没有名为'django.core.context_processors'的模块

时间:2016-09-24 22:34:24

标签: python django git heroku deployment

尝试git推送我的应用程序后调整它并得到以下错误。

ImportError: No module named 'django.core.context_processors'

这没有显示在我的heroku日志中,我的应用程序在本地工作,所以我很困惑。我不得不在生产方面将debug设置为true以最终解决这个问题。我该怎么做才能清除它?

这是一些追溯

Request Method: GET
Request URL:    http://hispanicheights.com/
Django Version: 1.10.1
Exception Type: ImportError
Exception Value:    
No module named 'django.core.context_processors'
Exception Location: /app/.heroku/python/lib/python3.5/importlib/__init__.py in import_module, line 126
Python Executable:  /app/.heroku/python/bin/python
Python Version: 3.5.1
Python Path:['/app',
             '/app/.heroku/python/bin',
             '/app/.heroku/python/lib/python3.5/site-packages/setuptools-23.1.0-py3.5.egg',
             '/app/.heroku/python/lib/python3.5/site-packages/pip-8.1.2-py3.5.egg',
             '/app',
             '/app/.heroku/python/lib/python35.zip',
             '/app/.heroku/python/lib/python3.5',
             '/app/.heroku/python/lib/python3.5/plat-linux',
             '/app/.heroku/python/lib/python3.5/lib-dynload',
             '/app/.heroku/python/lib/python3.5/site-packages',
             '/app',
             '/app']

我看了第126行,这就是那里的

 return _bootstrap._gcd_import(name[level:], package, level)

django.core.context_processors

无法在init文件中找到。我在我的设置文件中查看了生产并看到了这个

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {
            'debug': True,
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
                "django.core.context_processors.request",
            ],
        },
    },
]
我应该修改一下这个怎么样?

2 个答案:

答案 0 :(得分:1)

尝试从您的设置中删除"django.core.context_processors.request"

在Django 1.10中,django.core.context_processors已移至django.template.context_processors。见the release notes

您已经拥有请求上下文处理器,无需再次使用错误的位置添加它。

答案 1 :(得分:0)

我在settings.py中修复了它。在我的模板中,我从这个

更改了这一行
django.core.context_processors.request

到这个

django.template.context_processors.request

现在我可以看到我的网站了。我希望这有助于某人。