Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django消息中间件故障_Python_Django_Python 2.7_Django Settings_Django Middleware - Fatal编程技术网

Python Django消息中间件故障

Python Django消息中间件故障,python,django,python-2.7,django-settings,django-middleware,Python,Django,Python 2.7,Django Settings,Django Middleware,我在virtualenv中使用Django 1.5.1,在OS X 10.8.4上使用Python 2.7。在Django设置中,我从DEBUG=True更改为DEBUG=False,出现了一个错误: Traceback (most recent call last): File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/wsgiref/handlers.py", line 85, in r

我在virtualenv中使用Django 1.5.1,在OS X 10.8.4上使用Python 2.7。在Django设置中,我从
DEBUG=True
更改为
DEBUG=False
,出现了一个错误:

Traceback (most recent call last):
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/wsgiref/handlers.py", line 85, in run
    self.result = application(self.environ, self.start_response)
  File "/Users/kilroy/.virtualenvs/project_name/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 255, in __call__
    response = self.get_response(request)
  File "/Users/kilroy/.virtualenvs/project_name/lib/python2.7/site-packages/django/core/handlers/base.py", line 178, in get_response
    response = self.handle_uncaught_exception(request, resolver, sys.exc_info())
  File "/Users/kilroy/.virtualenvs/project_name/lib/python2.7/site-packages/django/core/handlers/base.py", line 224, in handle_uncaught_exception
    return callback(request, **param_dict)
  File "/Users/kilroy/Sites/PYTHON/project_name/apps/common/views.py", line 436, in handler_500
    messages.error(request, '500 - Internal server error.')
  File "/Users/kilroy/.virtualenvs/project_name/lib/python2.7/site-packages/django/contrib/messages/api.py", line 102, in error
    fail_silently=fail_silently)
  File "/Users/kilroy/.virtualenvs/project_name/lib/python2.7/site-packages/django/contrib/messages/api.py", line 22, in add_message
    raise MessageFailure('You cannot add messages without installing '
MessageFailure: You cannot add messages without installing django.contrib.messages.middleware.MessageMiddleware
我在开发和生产中使用不同的设置文件,在我的开发机器上,我在
/Users/kilroy/.virtualenvs/project\u name/bin/postactivate
文件中设置环境变量,如下所示:

export DJANGO_SETTINGS_MODULE=project_name.settings.local
我的
base.py
文件如下所示,我的
local.py
设置如下所示


当我想禁用调试时,为什么会发生这种情况?我如何跟踪问题发生的原因?

您可以在shell上尝试以下方法吗:

from django.conf import settings
print settings.MIDDLEWARE_CLASSES
如果在中间件类中没有看到
django.contrib.messages.middleware.MessageMiddleware
,则应该添加它


我猜您在开发过程中没有遇到任何500错误,因此这一行使用了
消息。错误(请求'500-内部服务器错误')
从未执行过,因此您在DEBUG=True中没有遇到此问题。

您可以在shell上尝试此操作吗:

from django.conf import settings
print settings.MIDDLEWARE_CLASSES
如果在中间件类中没有看到
django.contrib.messages.middleware.MessageMiddleware
,则应该添加它


我猜您在开发过程中没有遇到任何500错误,因此这一行使用了
消息。错误(请求'500-内部服务器错误')
从未执行过,因此您在DEBUG=True中没有遇到此问题。

在使用开发服务器时,当我将DEBUG设置为false时,我有相同的堆栈跟踪。在我的例子中,它与Django允许的_HOSTS设置/检查有关。由于引发了引起错误的可疑操作异常,这些症状令人困惑


如果我的设置文件中有
允许的\u HOSTS=['localhost']
,并且
http://localhost:8000
作为我的浏览器地址,一切都很好。但是,如果我使用IP地址
http://127.0.0.1:8000/
我直接得到了这个错误。

在使用开发服务器时,当我将DEBUG设置为false时,我有相同的堆栈跟踪。在我的例子中,它与Django允许的_HOSTS设置/检查有关。由于引发了引起错误的可疑操作异常,这些症状令人困惑


如果我的设置文件中有
允许的\u HOSTS=['localhost']
,并且
http://localhost:8000
作为我的浏览器地址,一切都很好。但是,如果我使用IP地址
http://127.0.0.1:8000/
我直接得到了这个错误。

在我的virtualenv中,我的python conssole输出:
('django.middleware.common.CommonMiddleware','django.middleware.gzip.gzip中间件','django.middleware.csrf.CsrfViewMiddleware','django.contrib.sessions.middleware','django.contrib.auth.middleware.AuthenticationMiddleware.AuthenticationMiddleware','django.messages.middleware.middleware.Message.Message.MessageMiddleware','debug\re')
当我做
打印设置时。中间件类
。是的,可能是我在开发过程中从未遇到错误500=)我现在完全不知道如何解决这个问题--这个错误不应该存在,我也很困惑。您的设置是什么。消息存储,以及您使用的是什么版本的Django?
打印设置。消息存储
输出
Django.contrib.messages.STORAGE.fallback.FallbackStorage
。Django 1.5.1版。您是否对视图中的
请求
进行了任何修改?你能试着打印
请求吗?\u messages
在view.Hm中,当我放置
打印请求时。\u messages
在这个
处理程序\u 500
函数中,我得到一个不同的错误:
AttributeError:'WSGIRequest'对象没有属性'\u messages'
。在我的VirtualEnvironment中,我的python conssole输出这个:
('django.middleware.common.CommonMiddleware','django.middleware.gzip.gzip中间件','django.middleware.csrf.CsrfViewMiddleware','django.contrib.sessions.middleware','django.contrib.auth.middleware.AuthenticationMiddleware.AuthenticationMiddleware','django.messages.middleware.middleware.Message.Message.MessageMiddleware','debug\re')
当我做
打印设置时。中间件类
。是的,可能是我在开发过程中从未遇到错误500=)我现在完全不知道如何解决这个问题--这个错误不应该存在,我也很困惑。您的设置是什么。消息存储,以及您使用的是什么版本的Django?
打印设置。消息存储
输出
Django.contrib.messages.STORAGE.fallback.FallbackStorage
。Django 1.5.1版。您是否对视图中的
请求
进行了任何修改?您可以尝试打印
请求吗?\u messages
在view.Hm中,当我放置
打印请求时。\u messages
在这个
处理程序\u 500
函数中,我得到一个不同的错误:
AttributeError:'WSGIRequest'对象没有属性'\u messages'
。包括允许的\u HOSTS=['localhost']为我解决了这个问题。谢谢包括允许的_HOSTS=['localhost']为我解决了这个问题。谢谢