Django的消息突然不工作
问题描述:
Django的邮件应用程序突然显示以下错误:Django的消息突然不工作
AttributeError at /user_logout/
'function' object has no attribute 'add_message'
Request Method: GET
Request URL: http://127.0.0.1:8080/user_logout/
Django Version: 1.5.5
Exception Type: AttributeError
Exception Value:
**'function' object has no attribute 'add_message'**
Exception Location: F:\mysite\myproj\myapp\views.py in user_logout, line 185
Python Executable: F:\mysite\env\Scripts\python.exe
Python Version: 2.7.3
我不知道为什么会出这个错误。
def user_logout(request):
r_user = RU.objects.get(id=request.session['somekey'])
try:
del request.session['somekey']
r_user.logout_ts = datetime.datetime.now()
r_user.save()
messages.add_message(request, messages.INFO, 'Logged out!')
return HttpResponseRedirect("/")
except KeyError:
messages.add_message(request, messages.INFO, 'You are not Logged in!')
return HttpResponseRedirect("/")
settings.py
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
TEMPLATE_CONTEXT_PROCESSORS = {
'myproj.context_processors.which_page',
'myproj.context_processors.user_context',
'django.contrib.auth.context_processors.auth',
'django.core.context_processors.request',
'django.contrib.messages.context_processors.messages',
}
一切都很好,昨晚工作。但今天它显示了上面提到的错误。任何人都知道为什么会这样?我尝试搜索,但似乎没有人遇到过这种突然的行为。此外,仅供参考,我关闭了cmd提示符而不停用virtualenv我不知道如何影响功能,但如果它确实如此。
在此先感谢。
很可能问题中的Python模块导入消息两次,导入错误的东西,或者您使用局部变量或全局变量对消息模块进行遮蔽。 – 2014-09-20 11:11:22