Django消息突然无法正常工作

时间:2014-09-20 11:08:27

标签: django django-messages

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我不知道这会如何影响功能但是以防万一。

提前致谢。

1 个答案:

答案 0 :(得分:5)

您可能在messages()视图所在的文件中有一个名为user_messages的函数。