2

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("/")

设置.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',
}

昨晚一切正常。但是今天它显示了上述错误。有人知道为什么会这样吗?我尝试搜索,但似乎没有人遇到过这种突然的行为。另外仅供参考,我在没有停用 virtualenv 的情况下关闭了 cmd 提示符我不知道这会如何影响功能,但以防万一。

提前致谢。

4

1 回答 1

6

您可能在与您的视图messages()相同的文件中调用了一个函数。user_messages

于 2014-09-20T11:21:13.097 回答